Giter VIP home page Giter VIP logo

karaage-ai-book's Introduction

「人気ブロガーからあげ先生のとにかく楽しいAI自作教室」サポートサイト

 本リポジトリは、書籍「人気ブロガーからあげ先生のとにかく楽しいAI自作教室」のサポートサイトとなります。

 購入先は以下となります。

Amazon(紙書籍)

Kindle(電子書籍)

楽天(紙書籍)

楽天Kobo(電子書籍)

書籍の紹介・レビュー

 書籍内容の紹介やレビューの記事です。書籍の内容を知りたい方、購入迷っている方は参考にしてみてください。

AI初心者向けの独学本「からあげ先生のとにかく楽しいAI自作教室」を執筆しました

Amazonのレビュー

『からあげ先生のとにかく楽しいAI自作教室』の感想文

突然の朗報:「人気ブロガーからあげ先生のとにかく楽しいAI自作教室」電子書籍版発売開始🦔!!

書評「人気ブロガーからあげ先生のとにかく楽しいAI自作教室」

からあげ先生の本おススメです

「人気ブロガーからあげ先生のとにかく楽しいAI自作教室」でAIの実用性を体感してみよう

『からあげ先生のとにかく楽しいAI自作教室』を読むとこんなことができたという報告

「からあげ先生のとにかく楽しいAI自作教室」でじゃんけんの画像分類に挑戦したよ!

Google Colab ノートブック

 以下のアイコンをクリックすると、Google Colab上で本リポジトリのノートブックを実行できます。

Open In Colab

Chapter Description
ch01 AIの概要
ch02 画像認識
ch03 自然言語処理
ch04 画像生成
ch05 姿勢推定
ch06 エッジコンピューティング
ch07 まとめと今後の学習方法

正誤表

 書籍の正誤表は、本リポジトリのERRATAにまとめています。

 本書の誤記の連絡は、お手数ですが本リポジトリのIssuesに投稿をお願いいたします。確認中の誤記に関しては誤記のラベルがついたissueを参照ください。

よくある質問(FAQ)

 本書のよくある質問と回答をFAQにまとめています。

 質問に関しては、本リポジトリのIssuesで受け付けています。過去の質問と回答に関してはQuestionのラベルがついたissueを参照ください。

参考書籍・参考サイト・論文

 書籍で紹介した、書籍、サイト、論文の情報は、以下参照ください。

REFERENCES

 その他、本リポジトリの各章のディレクトリ(ch01, ch02... )のREADMEにも、書籍で扱った情報をまとめています。

筆者情報

 ブログやTwitterなどで情報発信しています。書籍で興味持たれた方は、是非フォローしてください。

ライセンス

本リポジトリはMITライセンスです。LICENSEファイルを参照ください。

karaage-ai-book's People

Contributors

karaage0703 avatar kazumaandoh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

karaage-ai-book's Issues

P61:history=model.fit...でエラーが出ます

ページ数

P61

内容

昨日からからあげさんの著書で勉強させていただいております。その際昨日はP61も通過してerrorが出なかったのですが本日また0からコードをランさせるとエラーが出てしまっております。

以下のようなエラーが出ます。

Epoch 1/20

InvalidArgumentError Traceback (most recent call last)
in

/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py in error_handler(*args, **kwargs)
65 except Exception as e: # pylint: disable=broad-except
66 filtered_tb = _process_traceback_frames(e.traceback)
---> 67 raise e.with_traceback(filtered_tb) from None
68 finally:
69 del filtered_tb

/usr/local/lib/python3.8/dist-packages/tensorflow/python/eager/execute.py in quick_execute(op_name, num_outputs, inputs, attrs, ctx, name)
52 try:
53 ctx.ensure_initialized()
---> 54 tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,
55 inputs, attrs, num_outputs)
56 except core._NotOkStatusException as e:

InvalidArgumentError: Graph execution error:

Detected at node 'ArgMax_1' defined at (most recent call last):
File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/usr/local/lib/python3.8/dist-packages/ipykernel_launcher.py", line 16, in
app.launch_new_instance()
File "/usr/local/lib/python3.8/dist-packages/traitlets/config/application.py", line 992, in launch_instance
app.start()
File "/usr/local/lib/python3.8/dist-packages/ipykernel/kernelapp.py", line 612, in start
self.io_loop.start()
File "/usr/local/lib/python3.8/dist-packages/tornado/platform/asyncio.py", line 149, in start
self.asyncio_loop.run_forever()
File "/usr/lib/python3.8/asyncio/base_events.py", line 570, in run_forever
self._run_once()
File "/usr/lib/python3.8/asyncio/base_events.py", line 1859, in _run_once
handle._run()
File "/usr/lib/python3.8/asyncio/events.py", line 81, in _run
self._context.run(self._callback, *self._args)
File "/usr/local/lib/python3.8/dist-packages/tornado/ioloop.py", line 690, in
lambda f: self._run_callback(functools.partial(callback, future))
File "/usr/local/lib/python3.8/dist-packages/tornado/ioloop.py", line 743, in _run_callback
ret = callback()
File "/usr/local/lib/python3.8/dist-packages/tornado/gen.py", line 787, in inner
self.run()
File "/usr/local/lib/python3.8/dist-packages/tornado/gen.py", line 748, in run
yielded = self.gen.send(value)
File "/usr/local/lib/python3.8/dist-packages/ipykernel/kernelbase.py", line 381, in dispatch_queue
yield self.process_one()
File "/usr/local/lib/python3.8/dist-packages/tornado/gen.py", line 225, in wrapper
runner = Runner(result, future, yielded)
File "/usr/local/lib/python3.8/dist-packages/tornado/gen.py", line 714, in init
self.run()
File "/usr/local/lib/python3.8/dist-packages/tornado/gen.py", line 748, in run
yielded = self.gen.send(value)
File "/usr/local/lib/python3.8/dist-packages/ipykernel/kernelbase.py", line 365, in process_one
yield gen.maybe_future(dispatch(*args))
File "/usr/local/lib/python3.8/dist-packages/tornado/gen.py", line 209, in wrapper
yielded = next(result)
File "/usr/local/lib/python3.8/dist-packages/ipykernel/kernelbase.py", line 268, in dispatch_shell
yield gen.maybe_future(handler(stream, idents, msg))
File "/usr/local/lib/python3.8/dist-packages/tornado/gen.py", line 209, in wrapper
yielded = next(result)
File "/usr/local/lib/python3.8/dist-packages/ipykernel/kernelbase.py", line 543, in execute_request
self.do_execute(
File "/usr/local/lib/python3.8/dist-packages/tornado/gen.py", line 209, in wrapper
yielded = next(result)
File "/usr/local/lib/python3.8/dist-packages/ipykernel/ipkernel.py", line 306, in do_execute
res = shell.run_cell(code, store_history=store_history, silent=silent)
File "/usr/local/lib/python3.8/dist-packages/ipykernel/zmqshell.py", line 536, in run_cell
return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/IPython/core/interactiveshell.py", line 2854, in run_cell
result = self._run_cell(
File "/usr/local/lib/python3.8/dist-packages/IPython/core/interactiveshell.py", line 2881, in _run_cell
return runner(coro)
File "/usr/local/lib/python3.8/dist-packages/IPython/core/async_helpers.py", line 68, in pseudo_sync_runner
coro.send(None)
File "/usr/local/lib/python3.8/dist-packages/IPython/core/interactiveshell.py", line 3057, in run_cell_async
has_raised = await self.run_ast_nodes(code_ast.body, cell_name,
File "/usr/local/lib/python3.8/dist-packages/IPython/core/interactiveshell.py", line 3249, in run_ast_nodes
if (await self.run_code(code, result, async
=asy)):
File "/usr/local/lib/python3.8/dist-packages/IPython/core/interactiveshell.py", line 3326, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "", line 1, in
get_ipython().run_cell_magic('time', '', 'history=model.fit(train_data,epochs=EPOCHS, validation_data=validation_data, verbose=1)\n')
File "/usr/local/lib/python3.8/dist-packages/IPython/core/interactiveshell.py", line 2359, in run_cell_magic
result = fn(*args, **kwargs)
File "", line 2, in time
File "/usr/local/lib/python3.8/dist-packages/IPython/core/magic.py", line 187, in
call = lambda f, *a, **k: f(*a, **k)
File "/usr/local/lib/python3.8/dist-packages/IPython/core/magics/execution.py", line 1310, in time
exec(code, glob, local_ns)
File "", line 1, in
File "/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py", line 64, in error_handler
return fn(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/keras/engine/training.py", line 1409, in fit
tmp_logs = self.train_function(iterator)
File "/usr/local/lib/python3.8/dist-packages/keras/engine/training.py", line 1051, in train_function
return step_function(self, iterator)
File "/usr/local/lib/python3.8/dist-packages/keras/engine/training.py", line 1040, in step_function
outputs = model.distribute_strategy.run(run_step, args=(data,))
File "/usr/local/lib/python3.8/dist-packages/keras/engine/training.py", line 1030, in run_step
outputs = model.train_step(data)
File "/usr/local/lib/python3.8/dist-packages/keras/engine/training.py", line 894, in train_step
return self.compute_metrics(x, y, y_pred, sample_weight)
File "/usr/local/lib/python3.8/dist-packages/keras/engine/training.py", line 987, in compute_metrics
self.compiled_metrics.update_state(y, y_pred, sample_weight)
File "/usr/local/lib/python3.8/dist-packages/keras/engine/compile_utils.py", line 501, in update_state
metric_obj.update_state(y_t, y_p, sample_weight=mask)
File "/usr/local/lib/python3.8/dist-packages/keras/utils/metrics_utils.py", line 70, in decorated
update_op = update_state_fn(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/keras/metrics/base_metric.py", line 140, in update_state_fn
return ag_update_state(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/keras/metrics/base_metric.py", line 646, in update_state
matches = ag_fn(y_true, y_pred, **self._fn_kwargs)
File "/usr/local/lib/python3.8/dist-packages/keras/metrics/metrics.py", line 3295, in categorical_accuracy
return metrics_utils.sparse_categorical_matches(
File "/usr/local/lib/python3.8/dist-packages/keras/utils/metrics_utils.py", line 887, in sparse_categorical_matches
y_pred = tf.math.argmax(y_pred, axis=-1)
Node: 'ArgMax_1'
Reduction axis -1 is empty in shape [8,0]
[[{{node ArgMax_1}}]] [Op:__inference_train_function_874]

どうしたらよいでしょうか?

P49にてラベルファイルが正しく作成されません。。。

内容
*P49 !cat ./model/labels.txt
を実行後
pa
しか表示されません。
コードを見直しても同じように作製できているようにみえます。
どのような部分に不具合があると考えられますでしょうか?
お手数をおかけしますが宜しくお願いします。

コメント

P.92 画像名が紙面とソースで異なる

ページ数

P.92 真ん中あたり

内容

P.92の真ん中あたりの画像の画像名が
「ki_concat.jpg」になっています。(choki_concat.jpgのミス?)
ソースでは「concat.jpg」で保存されます。

コメント

重ね重ねあまり主旨とは関係ないところですみません。

P.92の上の方の画像も「choki.jpg」となっていてその画像は存在しない(choki_01.jpgは存在する)ので
ファイル名はあまり関係ないと思いますが、、
よろしければご確認お願いします。

P.75: colab_camera.use_cam() で DeprecationWarning が繰り返し出力される

ページ数

P.75 の 1 行目

内容

誤:img_str = encimg.tostring()
正:img_str = encimg.tobytes()

colab_camera.use_cam() 実行時に次のメッセージが繰り返し出力される。
/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:32: DeprecationWarning: tostring() is deprecated. Use tobytes() instead.

コメント

メッセージを読めば自明な修正ですが、一応報告させて頂きます。

P123:vocabが使えないエラー

ページ数

p123

内容

for word in model.wv.vocab.keys()のところで、
vocab.keys()はもう使えない旨のエラーがでました。
for word in model.wv.index_to_keysに変更したら動きました。

コメント
index_to_keysが合っているのかもよくわからないので検証のほどよろしくお願いいたします。

p45 import split_train_val について

ページ数

p45

import split_train_val
split_train_val.image_dir_train_val_split(
dataset_original_dir, dataset_root_dir, train_size=0.67)

内容

実行すると、以下のエラーが発生しました。
https://colab.research.google.com/drive/13kLjdoz23fQIRT_zYR196pSxFEPHOS2k?usp=sharing#scrollTo=U17652B6BMbY
上記からコードをコピペをしても、同じ状況でした。

File "/content/split_train_val.py", line 1
<html lang="en" data-adblockkey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANnylWw2vLY4hUn9w06zQKbhKBfvjFUCsdFlb6TdQhxb9RXWXuI4t31c+o8fYOv/s8q1LGPga3DE1L/tHU4LENMCAwEAAQ==_hTbiy7ntCSj8qk2PhHJF491kdRqD+2Gnl6pN/XjaBXc76RzmfkicLyp+tXmO3OY+gc7r6llJXu6k5liSplt8rw==><title>githubsercontent.com -&nbspThis website is for sale! -&nbspgithubsercontent Resources and Information.</title><link
^
SyntaxError: invalid syntax

コメント

何卒、ご教示のほど、宜しくお願いいたします。

P.204 紙面とソースで引数の値が異なる

ページ数

P.204 一番上のテキストボックス

内容

紙面

plt.imshow((test_image[0] +1)/2) 

ソース(ノートブック)

plt.imshow((test_image[0] * 127.5 + 127.5) / 255)

コメント
ソースの方の引数内の分母分子の数字を127.5で割れば紙面の方になるので結果は変わらないのですが、
一応ご確認よろしくお願いします。

P.296 Google Colabノートブックのタイトル追記

ページ数

P.296の中あたり

内容

誤:Google Colabのノートブックで実践していきます。
正:Google Colabのノートブック「06_karaage_ai_book_tflite_convert.ipynb」で実践していきます。

コメント

 赤石さん ( @makaishi2 ) からメールでご指摘いただきました。6章のノートブックは1つしかないので、迷うことは少ないかもしれませんが、他は記載してあるので、追記した方が良いかなと思いました。

 他、Google Driveのアクセス認証(2章と4章のStyleGAN)のところで、少し詰まりそうになったのでスクリーンショット付きの丁寧な解説があった方が良いという指摘もいただきました。こちらは、まずはサポートサイトの方で何かしら対応したいと思います。

AIモデルの性能を上げる方法:Efficientnetモデル学習時のエラー

ページ数
02_karaage_ai_book_image_classification_performance.ipynb
AIモデルの性能を上げる方法:Efficientnet

内容
モデル学習時にエラーが生じます。
KeyError: 'The optimizer cannot recognize variable dense_8/kernel:0. This usually means you are trying to call the optimizer to update different parts of the model separately. Please call optimizer.build(variables) with the full list of trainable variables before the training loop or use legacy optimizer `tf.keras.optimizers.legacy.Adam.'
と表示されます

コメント
アップロードされているGoogle Colabを上から順に実行してみましたが、同じエラーになります。
どうぞよろしくお願いいたします。

P.246, P.255 紙面:tostring()、ノートブックのソースコード:tobytes()

ページ数

P.246, P.255ともに、 ソースコード部分

内容

該当ソースコード下部の、img_str=の部分

紙面

#encode to string
...
img_str = encimg.tostring()
...

ノートブック

#encode to string
...
img_str = encimg.tobytes()
...

コメント

紙面のようにtostringで実行したところ、実行はできたのですが、以下のWarningが出ました。
/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:23: DeprecationWarning: tostring() is deprecated. Use tobytes() instead.

p146 RMSprop のインポートエラー

ページ数
p146の前半 ライブラリのインポート

内容
エラーなどは出ていなかったので問題ないかとは思うのですが
TensorFlow 2.6.0 だとRMSpropがインポートエラーとなりました。
こちらのstackoverflowを参考に

from keras.optimizers import RMSprop から
from tensorflow.keras.optimizers import RMSprop
と変更したのですが、特に問題はなかったでしょうか?

コメント
Verを2.3.0に合わせていないのでこのようなことになるかとは思うので大変恐縮な質問で申し訳ないです。。。

P.97: load_model() の引数がソースと紙面で異なる

ページ数

P.97 の 1 行目

内容

誤:keras_model = tf.keras.models.load_model("efficientnet_model.h5")
正:
import tensorflow_hub as hub
keras_model = tf.keras.models.load_model("efficientnet_model.h5", custom_objects={'KerasLayer':hub.KerasLayer})

  • 引数 custom_objects が無いと次のエラーが出力される。
    ValueError: Unknown layer: KerasLayer

  • "import tensorflow_hub as hub" が無いと次のエラーが出力される。(新規ノートに書いた場合)
    NameError: name 'hub' is not defined

コメント

GitHub のソースを使う前提のようですので、”import tensorflow_hub as hub" は、冗長であれば外してください。

colab_camera.py のインポートに関して

ページ数

P.74 上のほう

内容
colab_cameraのインポート時にエラーが発生します。

実行したコード:

import colab_camera

エラー内容:

File "/content/colab_camera.py", line 7

^
SyntaxError: invalid syntax

コメント
解決方法を教えていただけると助かります。
よろしくお願いいたします。

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

ページ数

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 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 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 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 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 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'

助言いただければ幸いです。
よろしくお願いいたします。

PoseEstimatorクラスの表記について

ページ数

P.250の下1/3のあたり

内容

ex:
誤:骨格を描画しているのは「estimator.py」の「PoseEstimator」というクラス
正:骨格を描画しているのは「estimator.py」の「TfPoseEstimator」というクラス

コメント
楽しく読ませていただきました。より良いものとなるよう貢献できればと思って投稿させていただきました。
サポートサイトからダウンロードさせていただいたestimator.pyの中を確認したところ、draw_humansのメソッドはTfPoseEstimatorの中にあったのでこちらが正しいのかと思い投稿させていただきました。もし私の投稿が誤っていたらご容赦ください。

p.56 value error と出てしまいます

ページ数

p.61 AIモデルの学習

内容

コードを実行すると、以下のようなエラーが出てしまいます。
%%time
history = model.fit(train_data, epochs=EPOCHS, validation_data=validation_data, verbose=1)
を実行すると、以下のエラー

Epoch 1/20

ValueError Traceback (most recent call last)
in ()
----> 1 get_ipython().run_cell_magic('time', '', 'history = model.fit(train_data, epochs=EPOCHS, validation_data=validation_data, verbose=1)')

12 frames
in time(self, line, cell, local_ns)

in ()

/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/func_graph.py in wrapper(*args, **kwargs)
992 except Exception as e: # pylint:disable=broad-except
993 if hasattr(e, "ag_error_metadata"):
--> 994 raise e.ag_error_metadata.to_exception(e)
995 else:
996 raise

ValueError: in user code:

/usr/local/lib/python3.7/dist-packages/keras/engine/training.py:853 train_function  *
    return step_function(self, iterator)
/usr/local/lib/python3.7/dist-packages/keras/engine/training.py:842 step_function  **
    outputs = model.distribute_strategy.run(run_step, args=(data,))
/usr/local/lib/python3.7/dist-packages/tensorflow/python/distribute/distribute_lib.py:1286 run
    return self._extended.call_for_each_replica(fn, args=args, kwargs=kwargs)
/usr/local/lib/python3.7/dist-packages/tensorflow/python/distribute/distribute_lib.py:2849 call_for_each_replica
    return self._call_for_each_replica(fn, args, kwargs)
/usr/local/lib/python3.7/dist-packages/tensorflow/python/distribute/distribute_lib.py:3632 _call_for_each_replica
    return fn(*args, **kwargs)
/usr/local/lib/python3.7/dist-packages/keras/engine/training.py:835 run_step  **
    outputs = model.train_step(data)
/usr/local/lib/python3.7/dist-packages/keras/engine/training.py:789 train_step
    y, y_pred, sample_weight, regularization_losses=self.losses)
/usr/local/lib/python3.7/dist-packages/keras/engine/compile_utils.py:184 __call__
    self.build(y_pred)
/usr/local/lib/python3.7/dist-packages/keras/engine/compile_utils.py:133 build
    self._losses = tf.nest.map_structure(self._get_loss_object, self._losses)
/usr/local/lib/python3.7/dist-packages/tensorflow/python/util/nest.py:869 map_structure
    structure[0], [func(*x) for x in entries],
/usr/local/lib/python3.7/dist-packages/tensorflow/python/util/nest.py:869 <listcomp>
    structure[0], [func(*x) for x in entries],
/usr/local/lib/python3.7/dist-packages/keras/engine/compile_utils.py:273 _get_loss_object
    loss = losses_mod.get(loss)
/usr/local/lib/python3.7/dist-packages/keras/losses.py:2136 get
    return deserialize(identifier)
/usr/local/lib/python3.7/dist-packages/keras/losses.py:2095 deserialize
    printable_module_name='loss function')
/usr/local/lib/python3.7/dist-packages/keras/utils/generic_utils.py:709 deserialize_keras_object
    .format(printable_module_name, object_name))

ValueError: Unknown loss function: categorial_crossentropy. Please ensure this object is passed to the `custom_objects` argument. See https://www.tensorflow.org/guide/keras/save_and_serialize#registering_the_custom_object for details.

コメント

いつも楽しく勉強させていただいています。上記のエラーについて、自己解決できず、こちらに投稿させていただきました。大変恐縮ですが、ご教授いただければと思います。

読み取り画像が回転してしまっている

ページ数
P56でジャンケンから自分の画像に置き換えた

内容
P42に従って、画像を自分で用意した人物に置き換えて学習させました。
その際に、取り込んだデータが回転してしまっているのがありました。
何か原因などあるのでしょうか?

コメント
この質問を書き込むにあたりGitHubを初めて使いました。
登録に際して、「先生」か「学生」を選ぶ画面が出ましたが、
「学生」を選んでしまいました。
インターネットで記事を見ると、その他の職業も出ていましたが、
自分が登録する際は上記2つしか選択肢がありませんでした。
どうするのが正しいのかご存じでしたらアドバイスをいただけると幸いです。

tf.keras.models.load_model('efficientnet_model.h5')のエラー

efficient_modelのh5ファイルを読み込ます時に、NameErrorの'tf' is not defined が表示された。
また、ipynbファイルに参考としてissues26835が記載されているがこの意味も分かりません。
以下は、ipynbファイルの実行時の画面キャプチャーです。
image

ch05「AIを使った姿勢推定技術」のライブラリのインポートでエラー

ページ数
05_karaage_ai_book_pose_estimation_custom.ipynbの上から4つ目のセル

内容
05_karaage_ai_book_pose_estimation_custom.ipynbを実行してみたところ、
必要なライブラリをインポートするセルでエラーが出てしまいました。


ModuleNotFoundError Traceback (most recent call last)
in <cell line: 6>()
4 import time
5
----> 6 from tf_pose import common
7 import cv2
8 import numpy as np

3 frames
/content/tf-pose-estimation/tf_pose/init.py in
3 from future import print_function
4
----> 5 from tf_pose.runner import infer, Estimator, get_estimator

/content/tf-pose-estimation/tf_pose/runner.py in
6
7 from tf_pose import common
----> 8 from tf_pose import eval
9 from tf_pose.estimator import TfPoseEstimator
10 from tf_pose.networks import get_graph_path, model_wh

/content/tf-pose-estimation/tf_pose/eval.py in
11
12 from tf_pose.common import read_imgfile
---> 13 from tf_pose.estimator import TfPoseEstimator
14 from tf_pose.networks import model_wh, get_graph_path
15

/content/tf-pose-estimation/tf_pose/estimator.py in
12 from tf_pose.common import CocoPart
13 from tf_pose.tensblur.smoother import Smoother
---> 14 import tensorflow.contrib.tensorrt as trt
15
16 try:

ModuleNotFoundError: No module named 'tensorflow.contrib'


コメント
よろしくお願いいたします。

バグ報告: MobileNetV2 の転移学習モデルの最終層でactivation='softmax'が指定されていません。

p.84 下から3行目
誤: prediction_layer = tf.keras.layers.Dense(NUM_CLASSES)
正: prediction_layer = tf.keras.layers.Dense(NUM_CLASSES, activation='softmax')

3ーclass classficationなので、最後のDense層の activation に対して 'softmax' を指定しないとうまく動作しないと思います。 ちなみに tf.keras.layers.Dense() の activation の default 値は None です。

学習結果(p.86 のグラフ)が悪いのはこのバグのせいだと思います。

文字の重複?

ページ数

P.34 きゅうり農家の画像の上

内容

「AI」という文字が重複している
以下、本文

AIを用いて、きゅうりの~作業を、AIにより実現しています。

コメント

個人的に気になったのですが、意図的でしたらすみません m(__)m

P.281: スクリプト inspect_camera_pi.py がエラーで終了します

ページ数

P.281 のテキストボックス

内容

スクリプト inspect_camera_pi.py がエラーで終了してしまいます。
手順に変わりはないか、ご確認頂けないでしょうか。

私の環境:

  • Raspberry Pi 3 B+
  • Raspberry Pi OS 10 (buster)

実行時のログ:

$ python3 inspect_camera_pi.py -l="labels.txt" -m="my_model_aug.h5"
2021-01-04 17:49:17.193270: E tensorflow/core/platform/hadoop/hadoop_file_system.cc:132] HadoopFileSystem load error: libhdfs.so: cannot open shared object file: No such file or directory
['choki', 'gu', 'pa']
Traceback (most recent call last):
  File "inspect_camera_pi.py", line 30, in <module>
    model_pred = tf.keras.models.load_model(args.model)
  File "/usr/local/lib/python3.7/dist-packages/tensorflow_core/python/keras/saving/save.py", line 146, in load_model
    return hdf5_format.load_model_from_hdf5(filepath, custom_objects, compile)
  File "/usr/local/lib/python3.7/dist-packages/tensorflow_core/python/keras/saving/hdf5_format.py", line 166, in load_model_from_hdf5
    model_config = json.loads(model_config.decode('utf-8'))
AttributeError: 'str' object has no attribute 'decode'

コメント

エラーで進めなくなりました

ページ数
P45

内容
下記表示が出たので分割ソフトはセーブされたと思われます。
2021-11-23 03:02:32 (109 MB/s) - ‘split_train_val.py’ saved [1529]

最下段のインポート文を入れるとスクリプト自体に何かあるといったエラー表示が出て進めなくなりました。
import split_train_val
split_train_val.image_dir_train_val_split(dataset_orignal_dir, dataset_root_dir, train_size=0.67)

File "/content/split_train_val.py", line 1
<!doctype html>

<script>window.park = "eyJ1dWlkIjoiZTM4MzliNjEtMWZjMy1jMWJmLTBmYWEtMDg2YjVkNjk5YzM5IiwicGFnZV90aW1lIjoxNjM3NjM2NTUyLCJwYWdlX3VybCI6Imh0dHA6XC9cL3d3MjUucmF3LmdpdGh1YnNlcmNvbnRlbnQuY29tXC9rYXJhYWdlMDcwM1wva2FyYWFnZS1haS1ib29rXC9tYXN0ZXJcL3V0aWxcL3NwbGl0X3RyYWluX3ZhbC5weT9zdWJpZDE9MjAyMTExMjMtMTQwMi0zMWI1LTkwMzYtZGFlMDA4Njk4YjhiIiwicGFnZV9tZXRob2QiOiJHRVQiLCJwYWdlX3JlcXVlc3QiOnsic3ViaWQxIjoiMjAyMTExMjMtMTQwMi0zMWI1LTkwMzYtZGFlMDA4Njk4YjhiIn0sInBhZ2VfaGVhZGVycyI6eyJjb25uZWN0aW9uIjpbIktlZXAtQWxpdmUiXSwiaG9zdCI6WyJ3dzI1LnJhdy5naXRodWJzZXJjb250ZW50LmNvbSJdLCJhY2NlcHQtZW5jb2RpbmciOlsiaWRlbnRpdHkiXSwiYWNjZXB0IjpbIipcLyoiXSwidXNlci1hZ2VudCI6WyJXZ2V0XC8xLjE5LjQgKGxpbnV4LWdudSkiXX0sImhvc3QiOiJ3dzI1LnJhdy5naXRodWJzZXJjb250ZW50LmNvbSIsImlwIjoiMzQuMTQwLjE2NS4xNjkifQ==";</script><script src="/js...
^
SyntaxError: invalid syntax

コメント
特記事項なし

データを分割するときのエラーの解決方法がわかりません

ページ数

ex: P.46 最上段

内容

split_train_val.image_dir_train_val_split(
dataset_original_dir, dataset_root_dir, train_size=0.67)

を実行すると下記のようなエラーとなります。

target_datasetsis already created.
target_datasets/trainis already created.
target_datasets/valis already created.
target_datasets/train/.gitis already created.
target_datasets/val/.gitis already created.
target_datasets/train/guis already created.
target_datasets/val/guis already created.
target_datasets/train/chokiis already created.
target_datasets/val/chokiis already created.
target_datasets/train/pais already created.
target_datasets/val/pais already created.

IsADirectoryError Traceback (most recent call last)
in ()
1 split_train_val.image_dir_train_val_split(
----> 2 dataset_original_dir, dataset_root_dir, train_size=0.67)

1 frames
/usr/lib/python3.7/shutil.py in copyfile(src, dst, follow_symlinks)
118 os.symlink(os.readlink(src), dst)
119 else:
--> 120 with open(src, 'rb') as fsrc:
121 with open(dst, 'wb') as fdst:
122 copyfileobj(fsrc, fdst)

IsADirectoryError: [Errno 21] Is a directory: 'datasets/.git/info'

コメント
「datasets/.git/info」はディレクトリであってファイルじゃないから開けないと言われているのは
わかるのですが、解決方法がよくわかりません。
ご教授いただけますと助かります。

P.186-187: モデルの変数名が代入時と参照時で異なる

ページ数

  • P.186 の最下行
  • P.187 の 1 つ目のテキストボックスの 3 行目

内容

  • P.186 の最下行
    誤:model.eval()
    正:model_mask.eval()

  • P.187 の 1 つ目のテキストボックスの 3 行目
    誤:outputs = model(tokens_tensor)
    正:outputs = model_mask(tokens_tensor)

コメント

同様の誤りであったため、1件の Issue とさせて頂きました。

「GANのモデルの学習」でのライブラリのインポートエラー

ページ数

P.201

内容
tensorflowのバージョン変更のエラーは
%tensorflow_version 1.x
から
!pip install tensorflow-gpu==1.15.2
に変更して解消できましたが、その次のライブラリのインポートでエラーになりました


ImportError Traceback (most recent call last)
in
----> 1 from keras.models import Sequential
2 from keras.layers import Dense
3 from keras.layers import Reshape
4 from keras.layers.core import Activation
5 from keras.layers.normalization import BatchNormalization

3 frames
/usr/local/lib/python3.7/dist-packages/keras/backend.py in
37 from tensorflow.core.protobuf import config_pb2
38 from tensorflow.python.eager import context
---> 39 from tensorflow.python.eager.context import get_config
40 from tensorflow.python.framework import config
41 from keras import backend_config

ImportError: cannot import name 'get_config' from 'tensorflow.python.eager.context' (/usr/local/lib/python3.7/dist-packages/tensorflow_core/python/eager/context.py)

コメント

P.76: use_cam() が NameError になる

ページ数

P.76 の真ん中から少し上

内容

誤:use_cam()
正:colab_camera.use_cam()

"colab_camera." が無いと次のエラーになる。
NameError: name 'use_cam' is not defined

コメント

もし意図的に省略していましたら、この Issue はリジェクトしてください。

%tensorflow_version 1.x でエラー

ページ数

ex: P.242 最後

内容

%tensorflow_version 1.x
import tensorflow as tf
print(tf.version)

でエラーが出ます。Tensorflow 1 is unsupported in Colab. と出ます。是非動かしてみたいので解決策を教えてください。


ValueError Traceback (most recent call last)
in ()
----> 1 get_ipython().magic('tensorflow_version 1.x')
2 import tensorflow as tf
3 print(tf.version)

2 frames
/usr/local/lib/python3.7/dist-packages/google/colab/_tensorflow_magics.py in _tensorflow_version(line)
39
40 Your notebook should be updated to use Tensorflow 2.
---> 41 See the guide at https://www.tensorflow.org/guide/migrate#migrate-from-tensorflow-1x-to-tensorflow-2."""
42 ))
43

ValueError: Tensorflow 1 is unsupported in Colab.

Your notebook should be updated to use Tensorflow 2.
See the guide at https://www.tensorflow.org/guide/migrate#migrate-from-tensorflow-1x-to-tensorflow-2.

コメント

よろしくお願いします。

モデルの学習時のエラー(AIモデルの性能を上げる方法)

ページ数

書籍ではなく、GitHubのコードをコピペして実行しています。
「AIモデルの性能を上げる方法」(02_karaage_ai_book_image_classification_performance.ipynb)において、
「データの水増し」の「AIモデルの学習」のところです。

内容

上記箇所にて、
「%%time
history = model.fit(train_aug_data, epochs=EPOCHS, validation_data=validation_data, verbose=1)

実行時に
「Node: 'categorical_crossentropy/softmax_cross_entropy_with_logits'
logits and labels must be broadcastable: logits_size=[8,3] labels_size=[8,4]
[[{{node categorical_crossentropy/softmax_cross_entropy_with_logits}}]] [Op:__inference_train_function_37264]」
というエラーが出ます。
パラメータが8,3 と8,4で違っているのが原因でしょうか?
コード自体はコピペしているのでタイプミスの可能性はかなり低いと考えられます。
よろしくお願い致します。

P.152: model.fit() の引数がソースと紙面で異なる

ページ数

P.152 の真ん中のテキストボックス

内容

誤:history = model.fit(x, y, batch_size=BATCH_SIZE, epochs=EPOCHS)
正:history = model.fit(x, y, batch_size=BATCH_SIZE, epochs=EPOCHS, callbacks=[print_callback])

コメント

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.