pytorchデータローダー()関数

ときに動作するニューラルネットワーク、好ましくは、データのバッチを訓練するだけでなく、パラレルおよび加速度のデータをシャッフルする必要があります。この点で、PyTorchは、私たちは、これらの機能を達成するのを助けるデータローダー提供します。

次のようにデータローダー機能が定義されています。

データローダー(データセット、BATCH_SIZE = 1、シャッフル= Falseを、サンプラー= なし、
num_workers = 0、collat​​e_fn = default_collat​​e、pin_memory = Falseを、
drop_last =偽)

データセット:データセット(データセットオブジェクト)をロード
BATCHサイズ:BATCH_SIZE
データならばシャッフル::動揺を
サンプラー:サンプル採取、フォローアップがされます、詳細
num_workers:複数の番号を使用してロード・プロセスのプロセス、0マルチプロセスを使用しないように
collat​​e_fnを:どのようにサンプルデータの複数のは、一般的にすることができ、デフォルトのスプライシングを使用し、バッチにスプライス
ピンのメモリ領域に格納されたデータは、GPUのデータピン・メモリがより速く移動するかどうか:pin_memory
drop_last:データセット内のデータの個数がないかもしれませんTrueにBATCH_SIZE整数倍、drop_lastは不十分なデータ破棄のバッチのうち、よりになります

 

DEF メイン():
     インポートvisdomの
     インポート

    すなわち = visdom.Visdom()

    DB =ポケモン(' pokeman '、224 ' ' 

    X、Y =次(ITER(DB))    #1 #の
    印刷' サンプル:' 、 x.shape、y.shape、Y)

    viz.image(db.denormalize(x)は、勝利 = ' sample_x '、オプト= dictの(タイトル= ' sample_x ' ))

    ローダ =データローダ(DB、BATCH_SIZE = 32、シャッフル= 真)

    以下のために X、Yはローダ:   各データのデータセットの形を得るためには32セット 
        (db.denormalize(X)viz.imagesを、nrow = 8、=勝つ' BATCH '、OPTS = dictの(タイトル= ' BATCH ' ))
        viz.text(STR(y.numpy())、勝つ = ' ラベル'、OPTSは= dictの(タイトル= ' BATCH-Y ' ))

        time.sleep( 10)

 

 

 

データ処理では、時々 、試料は、損傷された画像のような他の問題を、読み取ることができません。_この場合のgetItem異常_意志機能、すなわち、最良の解決策は、エラーサンプルを除去することです

 

pytorchデータ処理:独自のデータセットを定義します

 

おすすめ

転載: www.cnblogs.com/kevin-red-heart/p/11298382.html