スポンサーリンク

【Tensorflow】「module ‘tensorflow’ has no attribute ‘GraphDef’」のエラー回避方法。

TensorFlow
スポンサーリンク

今回の記事はPythonにてtensorflowを使用した際に生じる「module ‘tensorflow’ has no attribute ‘GraphDef’」のエラーの回避法の備忘録です。

スポンサーリンク

module ‘tensorflow’ has no attribute ‘GraphDef’

このエラーが起きた際に確認する項目は一つだけ。

まずはtensorflowのバージョンが今何を使用しているかの確認です。

#コマンドで実行している方
pip show tensorflow
#jupyter notebookで実行している方
!pip show tensorflow

これを行いバージョンが2系になっている方はエラーになります。

Tesorflow1系に変更しても問題な方

エラー解消方法としては下記を実行します。

pip install tensorflow==1.15

実はtensorflowは1系と2系でモジュールの統合などが行われており、今までは普通に使えていたモジュールの「GraphDef」が使用できなくなっていると思います。
おそらくネットで拾ってきたコードが1系でのコードで皆さんいざ実行しようとした際に次sんの使っているバージョンと違うためにエラーになっているとおもわえれます。

1系に戻しても特に問題ないという方は上記のtensorflowインストールでエラー回避です。

どうしてもtensorflow2系を使いたい方

下記がなくなったモジュールですのでモジュールのインポート先を変更します。

tf.GraphDef() → tf.compat.v1.GraphDef()

また今回のエラーはこれで解消さえれますが他にもエラーがでます。

module 'tensorflow' has no attribute 'gfile'

このエラーの意味も同じでimportができなくなっているといっているのでこちらの「gfile」もインポート先を変更します。

tf.gfile.GFile() → tf.compat.v2.io.gfile.GFile()  

これでうまくいくと思います。
ただ、他の箇所もモジュールのインポート先変わっているためのエラーがあるかどうかはコード次第ですので、モジュールがないと言われた場合はこの点注意してください。

では今回の記事は以上です。他にも多数の機械学習関連の記事を記載していますので、興味があればサイト内を見ていって下さい。

本記事を読んでいただき感謝です。サイトを訪れていただいた方はプログラミング勉強中かと思いますのでプログラミング勉強のコツを合わせてご紹介。

スポンサーリンク
スポンサーリンク
スポンサーリンク

ブログに関しては500円程度かかりますが、それ以外は無料です。知識の吸収と並行してアウトプットは非常に効率が良いです。テックアカデミーに関しては講座レベルが高いにも関わらず、無料体験や人気口座も大幅値下げがあるので、重点的に学びたいものを無料体験してみてください。

転職時にも、エンジニアからテックアカデミー・Paizaは認知度が高いので、未経験入社採用を行う際履歴書で目に留まります。特にPaizaのスキルレベルA・SなどはIT業界でも評価されます。

テックアカデミー・Paizaの無料登録ができる期間中にぜひご利用してみてください。私も活用経験ありです。

TensorFlow
スポンサーリンク
スポンサーリンク

コメント

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