karaage0703 / karaage-ai-book

MIT License
104 stars 14 forks source link

P61のコードを実行すると「AttributeError: 'Adam' object has no attribute 'get_updates'」とエラーが出てしまいます。 #39

Closed exploreTF closed 1 year ago

exploreTF commented 1 year ago

ページ数

ex: P61

内容 入力コード %%time history = model.fit(train_data, epochs=EPOCHS, validation_data=validation_data, verbose=1)

基本はgithubに掲載されているコードをコピーして貼り付けております。 ですがP61のコードを張り付けて実行したらタイトルのようなエラーが出てしまいました。 ネットでも調べてみましたがよくわかりませんでした。 実行結果は次になります。

Epoch 1/20

AttributeError Traceback (most recent call last)

in [/usr/local/lib/python3.8/dist-packages/keras/engine/training_v1.py](https://localhost:8080/#) in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_freq, max_queue_size, workers, use_multiprocessing, **kwargs) 852 853 func = self._select_training_loop(x) --> 854 return func.fit( 855 self, 856 x=x, 3 frames [/usr/local/lib/python3.8/dist-packages/keras/engine/training_generator_v1.py](https://localhost:8080/#) in fit(self, model, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_freq, max_queue_size, workers, use_multiprocessing) 645 y, sample_weight, validation_split=validation_split 646 ) --> 647 return fit_generator( 648 model, 649 x, [/usr/local/lib/python3.8/dist-packages/keras/engine/training_generator_v1.py](https://localhost:8080/#) in model_iteration(model, data, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, validation_freq, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch, mode, batch_size, steps_name, **kwargs) 280 281 is_deferred = not model._is_compiled --> 282 batch_outs = batch_function(*batch_data) 283 if not isinstance(batch_outs, list): 284 batch_outs = [batch_outs] [/usr/local/lib/python3.8/dist-packages/keras/engine/training_v1.py](https://localhost:8080/#) in train_on_batch(self, x, y, sample_weight, class_weight, reset_metrics) 1176 1177 self._update_sample_weight_modes(sample_weights=sample_weights) -> 1178 self._make_train_function() 1179 outputs = self.train_function(ins) 1180 [/usr/local/lib/python3.8/dist-packages/keras/engine/training_v1.py](https://localhost:8080/#) in _make_train_function(self) 2280 with backend.name_scope("training"): 2281 # Training updates -> 2282 updates = self.optimizer.get_updates( 2283 params=self._collected_trainable_weights, 2284 loss=self.total_loss, AttributeError: 'Adam' object has no attribute 'get_updates' 助言いただければ幸いです。 よろしくお願いいたします。
karaage0703 commented 1 year ago

@exploreTF 質問ありがとうございます。以下でも同様の質問を受けています。 https://github.com/karaage0703/karaage-ai-book/issues/38#issuecomment-1421094197

こちらでも先程試してみましたが、特に問題なく実行できました。

まずは、以下のNotebookをそのまま実行してみていただけないでしょうか? https://github.com/karaage0703/karaage-ai-book/blob/master/ch02/02_karaage_ai_book_image_classification_tf2_x.ipynb

Open in Colabというアイコンをクリックしたら、Google Colabで実行することができます。

20230208_icon_colab

その上で、自身のコードを見比べると問題点が見つけやすいと思います。

karaage0703 commented 1 year ago

一旦closeいたします。また問題ありましたら、再オープンください。