質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

Q&A

解決済

1回答

1089閲覧

TensorFlow-Object-Detection-API train.pyのエラーを解消したい

trafield

総合スコア0

Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

0グッド

0クリップ

投稿2021/09/06 13:48

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
https://github.com/EdjeElectronics/TensorFlow-Object-Detection-API-Tutorial-Train-Multiple-Objects-Windows-10
上記サイトを参考にtensorflow1.15にて、ssd_mobilenet_cocoの転移学習を目指しています。

なお、GPU環境がないため、google colabにて行っています。

発生している問題・エラーメッセージ

models/research/object_detection/legacyの中に入っているtrain.pyを実行するとエラーが発生します。
train.pyはmodel/research/object_detectionに移動して実行しています。

ModuleNotFoundError: No module named 'deployment'

該当のソースコード

train.pyの44行目から

python

1import functools 2import json 3import os 4import tensorflow.compat.v1 as tf 5from tensorflow.python.util.deprecation import deprecated 6 7 8from object_detection.builders import dataset_builder 9from object_detection.builders import graph_rewriter_builder 10from object_detection.builders import model_builder 11from object_detection.legacy import trainer 12from object_detection.utils import config_util 13

trainer.pyの22行目から

python

1import functools 2 3import tensorflow.compat.v1 as tf 4import tf_slim as slim 5 6from object_detection.builders import optimizer_builder 7from object_detection.builders import preprocessor_builder 8from object_detection.core import batcher 9from object_detection.core import preprocessor 10from object_detection.core import standard_fields as fields 11from object_detection.utils import ops as util_ops 12from object_detection.utils import variables_helper 13from deployment import model_deploy 14

試したこと

このえらの原因はPYTHONPATH、PATHが正しくないため、との記載があったので、
import os
os.environ['PYTHONPATH'] += "/content/drive/MyDrive/tensorflow1/models"

import os
os.environ['PYTHONPATH'] += "/content/drive/MyDrive/tensorflow1/models/research"

import os
os.environ['PYTHONPATH'] += "/content/drive/MyDrive/tensorflow1/models/research/slim"

を実行しました。

! echo $PYTHONPATHを実行すると

env/python/content/drive/MyDrive/tensorflow1/models/content/drive/MyDrive/tensorflow1/models/research/content/drive/MyDrive/tensorflow1/models/research/slim
と帰ってきます。

補足情報(FW/ツールのバージョンなど)

tensorflowは意図的に1.15を使っています。

sqlparse 0.4.1
srsly 1.0.5
statsmodels 0.10.2
sympy 1.7.1
tables 3.4.4
tabulate 0.8.9
tblib 1.7.0
tensorboard 1.15.0
tensorboard-data-server 0.6.1
tensorboard-plugin-wit 1.8.0
tensorflow 1.15.0
tensorflow-datasets 4.0.1
tensorflow-estimator 1.15.1
tensorflow-gcs-config 2.6.0
tensorflow-hub 0.12.0
tensorflow-io-gcs-filesystem 0.20.0
tensorflow-metadata 1.2.0
tensorflow-probability 0.13.0
termcolor 1.1.0
terminado 0.11.0
testpath 0.5.0
text-unidecode 1.3
textblob 0.15.3
tf-slim 1.1.0
Theano-PyMC 1.1.2
thinc 7.4.0
tifffile 2021.8.30
toml 0.10.2
tomli 1.2.1
toolz 0.11.1
torch 1.9.0+cu102
torchsummary 1.5.1
torchtext 0.10.0
torchvision 0.10.0+cu102
tornado 5.1.1
tqdm 4.62.0
traitlets 5.0.5
tweepy 3.10.0
typeguard 2.7.1
typing-extensions 3.7.4.3
tzlocal 1.5.1
uritemplate 3.0.1
urllib3 1.24.3
vega-datasets 0.9.0
wasabi 0.8.2
wcwidth 0.2.5
webencodings 0.5.1
Werkzeug 1.0.1
wheel 0.37.0
widgetsnbextension 3.5.1
wordcloud 1.5.0
wrapt 1.12.1
xarray 0.18.2
xgboost 0.90
xkit 0.0.0
xlrd 1.1.0
xlwt 1.3.0
yellowbrick 0.9.1
zict 2.0.0
zipp 3.5.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2021/09/06 13:51

READMEには「Last updated: 6/22/2019 with TensorFlow v1.13.1」とありますが、同バージョンでも同じエラーが出ますか?
jbpb0

2021/09/06 14:16 編集

Google Colabで環境変数「PYTHONPATH」に複数の場所を設定する場合は、間に「:」を挟みます 参考 https://note.nkmk.me/python-import-module-search-path/ の「環境変数PYTHONPATHでモジュール検索パスを追加」 質問に書いてるやり方だと、「:」無しで全部そのまま繋がっているため、設定しても効果がなく、「.../models/research/slim」にある「deployment」が見つからず、エラーが消えません
trafield

2021/09/06 14:17

違うエラーが発生しました。 ImportError: cannot import name 'device_spec' from 'tensorflow.python.framework' (/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/__init__.py) 調べてみると、このエラーはtensorflow1.15にすると解決するとのことでした...
trafield

2021/09/06 22:48

jbpb0様 やはりpythonpathの問題なのですね。 import os os.environ['PYTHONPATH'] += "/content/drive/MyDrive/tensorflow1/models";"/content/drive/MyDrive/tensorflow1/models/research";"/content/drive/MyDrive/tensorflow1/models/research/slim" を実行すると、/content/drive/MyDrive/tensorflow1/models/research/slim と返ってきて、 その後、! echo $PYTHONPATHを実行すると ! echo $PYTHONPATH /env/python/content/drive/MyDrive/tensorflow1/models と返ってきます。 どこが間違っているのでしょうか。 素人質問ばかりすみません。
jbpb0

2021/09/06 23:41

書き方は、たぶんこうです os.environ['PYTHONPATH'] += ":/content/drive/MyDrive/tensorflow1/models:/content/drive/MyDrive/tensorflow1/models/research:/content/drive/MyDrive/tensorflow1/models/research/slim" Google Colabの場合は、「;」ではなくて「:」です 既存の環境変数への追加なので、先頭にも「:」が必要です 「:」も「"..."」の中に書きます 参考 https://medium.com/@omernaeem/you-can-set-environment-variables-using-os-environ-78a5181b6376
trafield

2021/09/07 11:59

jbpb0様 丁寧なご指導ありがとうございます。 アドバイス通り下記を実行したところうまくいきました! ありがとうございました! os.environ['PYTHONPATH'] += ":/content/drive/MyDrive/tensorflow1/models:/content/drive/MyDrive/tensorflow1/models/research:/content/drive/MyDrive/tensorflow1/models/research/slim"
guest

回答1

0

自己解決

質問への追記・修正依頼の内容にて解決しました

投稿2021/09/09 10:54

trafield

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問