pytorchは、(1)ピットツアーを強化しました

ハングpytorh訓練プロセス

1、报错:入力タイプ(CUDAFloatTensor)および重量タイプ(CPUFloatTensor)が同じでなければなりません。

考えてみましょう:モデルはGPUにロードされていない、(module.cudaを解決)

第二:

ネットワークモデルが想定されている:ここに画像を挿入説明
次のように変更:ここに画像を挿入説明上記グラフ自体ない構文エラーだけでなく、適切に、しかしGPUにロード機能にCPUに、アクションモデルの下で= model.cuda()は、ネットワークの残りの部分が有しますこれは、GPU上で展開され、さらにCPU上、それが必要であるエンコーダ構造は、次の形式を変更します。次の構造は、正しく実行するためにテストされています。

2、はRuntimeError:勾配計算に必要な変数の一つは、インプレース操作によって改変されています...

私は、ネットワークインフラストラクチャを構築する際に、主に、機能の融合を考える上で、追加の方法を使用することは、とても畳み込みとBNの後には直接の増加reluはありませんが、それはreluに追加されたときに畳み込みを入力する時に、そうではありません直接nn.ReLU(インプレース=真)が、nn.ReLU前のように()。

インプレース=真

意味:得られた値は、直接カバーする前に計算された値であれば

結果には影響しません。インプレース計算を使用すると、(大幅に)メモリ内に保存するだけでなく、メモリの時間を繰り返し適用と解放を省略することができます。しかし、彼らが使用するエラーを元の変数の適用範囲を持っていないでしょう。

3、pytorchバックプロパゲーションは、不必要なトラブルを避けるために、Bを使用しないとき= B ...これ、

						  例如:a = f(a)            修改为:  b = f(a)
                               a = d(a)                     c = d(b)

使用する必要はありません:* = 2というように。直接書き込み、A = * 2

リリース5元の記事 ウォン称賛7 ビュー1224

おすすめ

転載: blog.csdn.net/weixin_42640840/article/details/104024474