logo

ジュリアで基本データ型を変更する方法 📂ジュリア

ジュリアで基本データ型を変更する方法

概要

機械学習のような分野では、計算速度の向上やメモリの節約などのために、64ビットの実数ではなく32ビットの実数が配列のデータ型として使われます。そのため、PyTorchではテンソルを作ると、基本的にテンソルのデータ型は32ビットの浮動小数点数になってます。Juliaの機械学習パッケージにはFlux.jlがあり、これで実装された人工ニューラルネットワークは、Juliaの基本配列を入力として受け取ります。テンソルのような別のデータ構造を使わないという点は利点と言えますが、データ型を手動で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
  • バージョン: Julia 1.8.2, ChangePrecision 1.0.0