YutaroOgawa / pytorch_advanced

書籍「つくりながら学ぶ! PyTorchによる発展ディープラーニング」の実装コードを配置したリポジトリです
MIT License
844 stars 334 forks source link

第5章【5-2 p.258】DCGANの実装について #164

Open Muranikofu opened 3 years ago

Muranikofu commented 3 years ago

Ogawa 様

第5章のDCGANの実装に成功して、DCGANをはじめ様々なGANについて更に理解を深めるとともに実装にも力を入れ、今後の研究にも活用していきたいと思っています。 さて、本題ですが、CT画像に対してDCGANを適用したく、コードを書き替えてみたり色々と試行錯誤しています。 DICOM画像を64×64のpngファイルに変換し、コードを改良した上で走らせたのですが、テキストp258でtorch.Size([64, 4, 64, 64])と結果が出力されます。

2021-05-10 (1)

CT画像は白黒のグレイスケールのため、色チャネルは1になるはずではと思うのですが、チャネルの考え方が違うのでしょうか? また、更にコードを実行していくと、最後にRuntimeErrorが発生して、チャネル数が合っていないが為にエラーが発生しているようです。

2021-05-10 (2)

色々調べてみましたが、解決策が見つからなく質問させて頂いた次第です。

よろしくお願いいたします。

YutaroOgawa commented 3 years ago

@Muranikofu さま

ご質問ならびに、本書を活用したさらなる発展への挑戦を誠にありがとうございます。

最後、[64, 1, 64, 64] (ミニバッチサイズ、色チャネル種類数、縦ピクセル、横ピクセル)となって欲しいものが、 [64, 1, 4, 4]になっていますね。

恐らくですが、画像の読み込み部分で異なるのだと思います。

OpenCVとPILのどちらを使用するのかによっても画像の色チャネルの順番が変わります。 また、DICOM画像の詳細が私は分からないのですが、そこでも普通の画像と異なる可能性があります。

本書の画像を読み込む部分から、PythonのNumpy Listの形がどうなっているのかを確認しつつ、

@Muranikofu さまの画像の場合と比較していただくと、どこから異なっているのかが判明するかと思います。

どうぞよろしくお願いいたします。

Muranikofu commented 3 years ago

Ogawa 様

詳細にお答えいただいてありがとうございます。 アドバイスの通り検証を行い、課題をクリア出来ましたら、こちらにて共有させて頂きます。

よろしくお願いいたします。