【tensorflow2系】plot_modelで「TypeError: sequence item 0: expected str instance, bytes found」というエラーが出た時の対処法

本記事の適用シーン

tensorflow2系のtf.kerasでplot_modelでモデルを表示させるときに

「TypeError: sequence item 0: expected str instance, bytes found」

エラーが出た時

エラー回避方法

エラーが出た際には恐らく、以下のようなエラーtrackbackが出ていると思います。

c:\users\〇〇〇\.conda\envs\tf_2_3_0\lib\site-packages\pydot\__init__.py in create(self, prog, format)
   2011 
   2012             if stderr_output:
-> 2013                 stderr_output = ''.join(stderr_output)
   2014 
   2015         #pid, status = os.waitpid(p.pid, 0)

したがいまして、そのエラーの指示通りに自分のpythonのtensorflowを動かしている環境フォルダの

環境名\lib\site-packages\pydot__init__.py

をテキストエディターで開いてください。

trackbackにエラーが起きている.pyファイルの場所が表示されますので、それをコピペして開くと楽です。

そして、エラーの内容通りに2013行目の

stderr_output = ''.join(stderr_output)

stderr_output = b''.join(stderr_output)

と変更してください。

そうしてからコードを実行なおすとエラーが回避でき、正常に表示されると思います。

コメント

タイトルとURLをコピーしました