koshian2 / MosaicDeeplearningBook

モザイク除去から学ぶ 最先端のディープラーニング 質問用
18 stars 0 forks source link

Chap7-2.ipynb のコード修正ポイント #13

Open build1024 opened 3 years ago

build1024 commented 3 years ago

お世話になっております。 Chap7-2の演習問題のNotebookについて、TF2.6.0で動かす際に修正した点です。 TPU周りは #4 と同じですが、GoogleDriveのマウントの仕様変更?のほか、1箇所バグと思われるコードを修正しました。

TensorFlowのバージョン変更をスキップ

#!pip install tensorflow==2.0.0

GoogleDriveのマウントポイント変更への対応

#!cp gdrive/My\ Drive/colab\ data/kaggle.json kaggle.json
!cp gdrive/MyDrive/colab\ data/kaggle.json kaggle.json

Lossesクラスの修正(バグ?)

class Losses:
    (略)
    @staticmethod # <- この1行を追加
    def discriminator_loss(embed_real, embed_fake):
        return ...

データセット作成 (load_dataset())

    #a_set = a_set.repeat().shuffle(1024).batch(batch_size).prefetch(buffer_size=tf.data.experimental.AUTOTUNE)
    a_set = a_set.repeat().shuffle(1024).batch(batch_size, drop_remainder=True).prefetch(buffer_size=tf.data.experimental.AUTOTUNE)

    #b_set = b_set.repeat().shuffle(1024).batch(batch_size).prefetch(buffer_size=tf.data.experimental.AUTOTUNE)
    b_set = b_set.repeat().shuffle(1024).batch(batch_size, drop_remainder=True).prefetch(buffer_size=tf.data.experimental.AUTOTUNE)

Q3の冒頭部分

#from utils_tf20 import make_grid, distributed, Reduction
#import utils_tf20 as utils
from utils import make_grid, distributed, Reduction
import utils

ご確認のほどよろしくお願いいたします。

koshian2 commented 3 years ago

@build1024 ご報告ありがとうございます。TF2.6対応の問題と、そもそもコードがバグっている問題の両方がありますね。

「1箇所バグと思われるコード」というのは以下の部分だと思うのですが、これはTF2.6関係なくバグっています(間違って消しちゃったのかもしれません)。申し訳ありません。もとのNotebookにstaticmethodを追加しておきました。

class Losses:
    (略)
    @staticmethod # <- この1行を追加
    def discriminator_loss(embed_real, embed_fake):
        return ...

TF2.6対応の話は関連issueがありますので、#9 #10 #12 などをご参照ください。多分ご指摘の通りで動くと思います。