web-dev-qa-db-ja.com

モジュール「tensorflow」には属性「contrib」がありません

Tensorflow Object-Detection-APIを使用して自分のカスタムオブジェクト検出器をトレーニングしようとしています

Googleの計算エンジンに「pip install tensorflow」を使用してテンソルフローをインストールしました。次に、このサイトのすべての指示に従いました: https://tensorflow-object-detection-api-tutorial.readthedocs.io/en/latest/training.html

Train.pyを使用しようとすると、次のエラーメッセージが表示されます。

トレースバック(最後の最後の呼び出し):ファイル "train.py"、49行目、object_detection.builders import dataset_builderファイル "/usr/local/lib/python3.6/dist-packages/object_detection-0.1->py3.6 .Egg/object_detection/builders/dataset_builder.py "、27行目、in object_detection.data_decoders import tf_example_decoder File" /usr/local/lib/python3.6/dist-packages/object_detection-0.1-py3.6.Egg/object_detection /data_decoders/tf_example_decoder.py"、27行目、slim_example_decoder = tf.contrib.slim.tfexample_decoder AttributeError:module 'tensorflow' has no attribute 'contrib'

また、テンソルフローのバージョンを学習しようとすると、異なる結果が得られます。

python3 -c 'tensorflowをtfとしてインポート; print(tf。version) ':2.0.0-dev20190422

そして私が使うとき

pip3 show tensorflow:

名前:tensorflowバージョン:1.13.1概要:TensorFlowは、誰もが利用できるオープンソースの機械学習フレームワークです。ホームページ: https://www.tensorflow.org/ 作者:Google Inc.作者-メール:[email protected]ライセンス:Apache 2.0場所:/ usr/local/lib/python3。 6/dist-packages要件:gast、astor、absl-py、tensorflow-estimator、keras-preprocessing、grpcio、six、keras-applications、wheel、numpy、tensorboard、protobuf、termcolor Required-by:

    Sudo python3 train.py --logtostderr --train_dir=training/ -- 
    pipeline_config_path=training/ssd_inception_v2_coco.config

この問題を解決するにはどうすればよいですか?これ以外のエラーメッセージについては何も見つかりませんでした: tensorflow 'module' object has no attribute 'contrib'

23
Ömer Çiftci

私はGoogle Colabを使用してモデルを実行しましたが、インラインテザボードを使用するまで、すべてが完璧でした。インラインテンソルボードでは、「モジュール 'tensorflow'には属性 'contrib'がありません」と同じ問題がありました。

テンソルボードを初期化した後、setup.py(research folder)を使用してモデルを再構築および再インストールするときにトレーニングを実行できました。

1
Pawan Kumar

モデルのトレーニングにtensorflow 1.8を使用しましたが、今のところ問題はありません。 Tensorflow 2.0 alphaはオブジェクト検出APIには適していません

0
Ömer Çiftci

Tf.contribを使用する場合は、githubからスクリプト/ノートブックにソースコードをコピーして貼り付ける必要があります。それは迷惑であり、常に機能するとは限りません。しかし、それが私が見つけた唯一の回避策です。たとえば、tf.contrib.opt.AdamWOptimizerを使用したい場合は、ここからコピーして貼り付ける必要があります。 https://github.com/tensorflow/tensorflow/blob/590d6eef7e91a6a7392c8ffffb7b58f2e0c8bc6b/tensorflow/contrib/opt/python/training/weight_decay_optimizers.py#L32

0
Corey Levinson