logo

줄리아에서 기본 자료형 변경하는 방법 📂줄리아

줄리아에서 기본 자료형 변경하는 방법

개요

머신러닝과 같은 분야에서는 계산 속도 향상, 메모리 절약 등을 위해 배열의 자료형으로 64비트의 실수 대신에 32비트의 실수를 쓴다. 그래서 파이토치에서는 텐서를 만들면 기본적으로 텐서의 자료형이 32비트 부동소수점 실수이다. 줄리아의 머신러닝 패키지로는 Flux.jl이 있는데, 이로 구현된 인공신경망은 줄리아의 기본 배열을 입력으로 받는다. 텐서와 같은 별개의 데이터 구조를 쓰지 않는 다는 점은 장점이라고 볼 수 있으나, 자료형을 일일이 Float32로 설정해야한다는 귀찮음도 있다. 아래에서 기본 자료형을 바꿀 수 있는 방법을 소개한다.

코드1

ChangePrecision.jl

@changeprecision 매크로를 쓰면, begin ... end로 묶인 코드 내에서 기본 자료형이 바뀐다.

julia> Pkg.add("ChangePrecision")
julia> using ChangePrecision

julia> rand(3)
3-element Vector{Float64}:
 0.580516564576538
 0.33915094423556424
 0.3612907828959878

julia> @changeprecision Float32 begin
       rand(3)
       end
3-element Vector{Float32}:
 0.0459705
 0.0033969283
 0.579983

환경

  • OS: Windows10
  • Version: Julia 1.8.2, ChangePrecision 1.0.0