北館テック.com北館テック.comオープンソースソフトウェアのサーバ設定やプログラミングなどのメモですホームお問い合わせこのサイトについてプライバシーポリシーMenuSidebarPrevNextSearchRSSFeedlyホーム>未分類CIFAR10でAutoencoder(CNNで)試してみる(Pytorchで)2020年11月3日TwitterFacebookGoogle+LinkedInPocketちょっと前にCIFAR10でカスタムデータセットのクラスを作ってみましたが、今回はそれを使ってCIFAR10のオートエンコーダの実験をしてみました。MNISTではどうやってもうまくいきそうな気がしますので、CIFAR10で実験です。Pytorchでカスタムデータセット作成してみる(CSVファイル、画像読み込み)フォルダ構成はこんなと想定してください。cifar10_imgフォルダ以下のカテゴリ名のフォルダ以下に、PNGファイルがたくさん保存されています。今回はairplaneについてのCNNを利用したAutoencoderができるか試してみます。コードまずはモデルです。ちなみにいくつかモデル試してみましたが、どのモデルも結果としてはイマイチであまり違いが出ませんでしたね。NNCのサンプルプロジェクトにインスパイアされたモデルです。xデータセットの取り方はこんなですね。airplaneフォルダの画像を読み込むだけですね。ラベルはAutoencoderなのでいらないですが、とりあえず0にしときます。print('image_path=',img.shape)訓練コードですね。「nn.BCELoss()」ですね。train()テストコードですね。テストといいつつ訓練のデータを使ってます。test()結果こちらサンプルの入力画像です。モデルにかけてやった出力です。感伝わりますでしょうか。ちなみにshipをテストしてみた結果ですね。airplane風にはなりませんでしたね。ship入力ship出力ということでcifar10(32x32)レベルでもカラー画像のAutoencoderは難易度が高い、ということでしょうか。