Flux(Julia)でアレイの追跡を停止する

GreenLogic

私は現在、Flux forJuliaでバッチ更新を実装しようとしています。

計算中に、繰り返し実行してスカラーのバッチを取得します

δ = Gt - model(St)[1]
push!(deltas,δ)

ここで、モデルはニューラルネットワークです

global model= Chain(
    Dense(statesize,10, leakyrelu),
    Dense(10,10,leakyrelu),
    Dense(10,1))

最終的に配列デルタになり、2番目のニューラルネットワークでバッチグラデーション更新(バッチサイズ= 19)を実行したいと思います。ここで、各グラデーションは適切なデルタによって重み付けされます。私が書いた更新関数は

function vupdate2!(S_batch,model,α,deltas)

   function v_loss_total(x)
       return sum(reshape(deltas,(1,19)) .* model(x))
   end

   local ps = Flux.params(model)
   local gs = Flux.Tracker.gradient(() -> v_loss_total(S_batch), ps)
   for p in ps
       Flux.Tracker.update!( p,  α.* gs[p])
   end
end

問題は、勾配が計算されている行がエラーをスローすることです。 MethodError: no method matching Float32(::Tracker.TrackedReal{Float64})

問題は、デルタ配列が追跡されていることだと思います。ランダム入力のv_loss_total関数の出力を見ると、次のようになります。

julia> v_loss_total(S_batch)
-6752.433690476287 (tracked) (tracked)

興味深いことに、この数値は2回追跡されます(?)。これは、追跡された2つの数値(つまり、デルタとモデル(S_batch)のエントリ)を乗算した結果だと思います。最初にデルタ配列を追跡解除する方法はありますか?助けていただければ幸いです。

GreenLogic

さて、結局のところ、機能があります

Flux.Tracker.data()

それはまさに私が必要としていたことをします。追跡された番号を受け取り、Float自体を返します。https://github.com/FluxML/Flux.jl/issues/640も参照してください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

AndroidStudioで無視されたファイルの追跡を停止する方法

分類Dev

NodeJSでIPアドレスを追跡し、2つの番号を受信する

分類Dev

タイマーで配列内のアイテムを追跡する

分類Dev

複数のスレッドでJFRイベントを追跡する方法

分類Dev

AngularJSのhttp.getでリダイレクトを追跡する方法は?

分類Dev

ほぼリアルタイムでMongoDBの集計を追跡する

分類Dev

Clangの静的アナライザーで変数を追跡する方法は?

分類Dev

iOSでin_app_purchaseFirebaseイベントの追跡を停止するにはどうすればよいですか?

分類Dev

Goでリダイレクトを選択的に追跡する

分類Dev

RxJで「元の」アイテムを追跡し続ける

分類Dev

Juliaで追跡を続けるオプションを使用して一時停止および再開する方法

分類Dev

アイテムの絶対位置を追跡する方法

分類Dev

MySQLでスコアの増加を追跡する方法

分類Dev

Cocoaアプリで実際の使用時間を追跡する

分類Dev

JavaScriptで要素の位置を追跡する

分類Dev

シャイニー(r)で前のタブを追跡する

分類Dev

追跡されていないディレクトリの代わりにgitで追跡されていないファイルを表示する方法

分類Dev

(スレッド)セーフな方法でTPLパイプラインの障害アイテムを追跡する方法

分類Dev

アイテムの現在の視聴者数を追跡するにはどうすればよいですか?

分類Dev

MySQL-別の列で重複するレコードタイプを追跡する

分類Dev

ボイラープレートWebアプリコードを追跡する

分類Dev

Fluxアーキテクチャでは、分析追跡をどのように管理しますか?

分類Dev

バイナリファイル内のアイテムを追跡する方法

分類Dev

ローカルでファイルの追跡を停止しますが、他のリポジトリユーザーに追跡を続けさせますか?

分類Dev

Lollipop以前のデバイスのAndroidでアプリごとの使用状況を追跡する

分類Dev

OpenGL画像ビューアで「ハイライト」を追跡する方法

分類Dev

Rの特定のイベントを追跡するデータフレーム

分類Dev

AutoLinkで複数の第4レベルドメインを追跡するユニバーサルアナリティクス

分類Dev

ブラウザでURLリダイレクトを追跡する方法は?

Related 関連記事

  1. 1

    AndroidStudioで無視されたファイルの追跡を停止する方法

  2. 2

    NodeJSでIPアドレスを追跡し、2つの番号を受信する

  3. 3

    タイマーで配列内のアイテムを追跡する

  4. 4

    複数のスレッドでJFRイベントを追跡する方法

  5. 5

    AngularJSのhttp.getでリダイレクトを追跡する方法は?

  6. 6

    ほぼリアルタイムでMongoDBの集計を追跡する

  7. 7

    Clangの静的アナライザーで変数を追跡する方法は?

  8. 8

    iOSでin_app_purchaseFirebaseイベントの追跡を停止するにはどうすればよいですか?

  9. 9

    Goでリダイレクトを選択的に追跡する

  10. 10

    RxJで「元の」アイテムを追跡し続ける

  11. 11

    Juliaで追跡を続けるオプションを使用して一時停止および再開する方法

  12. 12

    アイテムの絶対位置を追跡する方法

  13. 13

    MySQLでスコアの増加を追跡する方法

  14. 14

    Cocoaアプリで実際の使用時間を追跡する

  15. 15

    JavaScriptで要素の位置を追跡する

  16. 16

    シャイニー(r)で前のタブを追跡する

  17. 17

    追跡されていないディレクトリの代わりにgitで追跡されていないファイルを表示する方法

  18. 18

    (スレッド)セーフな方法でTPLパイプラインの障害アイテムを追跡する方法

  19. 19

    アイテムの現在の視聴者数を追跡するにはどうすればよいですか?

  20. 20

    MySQL-別の列で重複するレコードタイプを追跡する

  21. 21

    ボイラープレートWebアプリコードを追跡する

  22. 22

    Fluxアーキテクチャでは、分析追跡をどのように管理しますか?

  23. 23

    バイナリファイル内のアイテムを追跡する方法

  24. 24

    ローカルでファイルの追跡を停止しますが、他のリポジトリユーザーに追跡を続けさせますか?

  25. 25

    Lollipop以前のデバイスのAndroidでアプリごとの使用状況を追跡する

  26. 26

    OpenGL画像ビューアで「ハイライト」を追跡する方法

  27. 27

    Rの特定のイベントを追跡するデータフレーム

  28. 28

    AutoLinkで複数の第4レベルドメインを追跡するユニバーサルアナリティクス

  29. 29

    ブラウザでURLリダイレクトを追跡する方法は?

ホットタグ

アーカイブ