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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

389閲覧

深層学習を行うプログラムでのエラー

mizu4423

総合スコア10

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2017/08/27 15:07

###前提・実現したいこと
Python3.6でシステムを動物の画像分類を行うシステムを作っています。
分類した画像を畳み込みニューラルネットワーク(CNN)で学習させている最中に以下のエラーメッセージが発生しました。

###発生している問題・エラーメッセージ
$ python3 animal_keras.py
Using TensorFlow backend.
Traceback (most recent call last):
File "animal_keras.py", line 1, in <module>
from keras.models import Sequential
File "/usr/local/lib/python3.6/site-packages/keras/init.py", line 4, in <module>
from . import activations
File "/usr/local/lib/python3.6/site-packages/keras/activations.py", line 6, in <module>
from .engine import Layer
File "/usr/local/lib/python3.6/site-packages/keras/engine/init.py", line 8, in <module>
from .training import Model
File "/usr/local/lib/python3.6/site-packages/keras/engine/training.py", line 25, in <module>
from .. import callbacks as cbks
File "/usr/local/lib/python3.6/site-packages/keras/callbacks.py", line 26, in <module>
from tensorflow.contrib.tensorboard.plugins import projector

ModuleNotFoundError: No module named 'tensorflow.contrib.tensorboard'

###該当のソースコード

from keras.models import Sequential from keras.layers import Convoluition2D, MaxPooling2D from keras.layers import Activation, Dropout, Flatten, Dense from keras.utils import np_utils import numpy as np #分類対象のカテゴリー root_dir = "./image/" categories = ["boar", "monkey"] nb_classes = len(categories) image_size = 50 # データをロード def main(): X_train, X_test, y_train, y_test = np.load("./image/animal.npy") #データを正規化する X_train = X_train.astype("float") / 256 X_test = X_test.astype("float") / 256 y_train = np_utils.to_categorical(y_train, nb_classes) y_test = np_utils.to_categorical(y_test, nb_classes) #モデルを訓練し評価する model = model_train(X_train, y_train) model_eval(model, X_test, y_test) #モデルを構築 def build_model(in_shape): model = Seqential() model.add(Convolution2D(32, 3, 3, border_mode='same', input_shape=in_shape)) model.add(Activation('relu')) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Dropout(0.25)) model.add(Convolution2D(64, 3, 3, border_mode='same')) model.add(Activation('relu')) model.add(Convolution2D(64, 3, 3)) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Dropout(0.25)) model.add(Flatten()) model.add(Dense(512)) model.add(Activation('relu')) model.add(Dropout(0.5)) model.add(Dense(nb_classes)) model.add(Activation('softmax')) model.compile(loss = 'binary_crossentropy', optimizer = 'rmsprop', metrics=['accuracy']) return model # モデルを訓練する def model_train(X, y): model = build_model(X.shape[1:]) model.fit(X, y, batch_size=32, nb_epoch=30) #モデルを保存する hdf5_file = "./image/animal-model.hdf5" model.save_weights(hdf5_file) return model #モデルを評価する def model_eval(model, X, y): score = model.evaluate(X, y) print('loss=', score[0]) print('accuracy=', score[1]) if __name__ == "__main__": main()

###試したこと
エラーメッセージで検索をかけてみたが、同じエラーメッセージで悩んでいる人はいないみたいだった。
エラーメッセージを見る限り、TensorBoardが入ってないのかと思って、TensorBoardを使うプログラムを実行したところ、正常に動いたため、TensorBoardは存在するようだ。

###補足情報(言語/FW/ツール等のバージョンなど)
バージョン情報
$ pip3 list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
appnope (0.1.0)
bleach (2.0.0)
chainer (2.0.1)
cycler (0.10.0)
decorator (4.1.2)
entrypoints (0.2.3)
filelock (2.0.10)
html5lib (0.999999999)
ipykernel (4.6.1)
ipython (6.1.0)
ipython-genutils (0.2.0)
ipywidgets (6.0.0)
jedi (0.10.2)
Jinja2 (2.9.6)
jsonschema (2.6.0)
jupyter (1.0.0)
jupyter-client (5.1.0)
jupyter-console (5.1.0)
jupyter-core (4.3.0)
Keras (2.0.8)
MarkupSafe (1.0)
matplotlib (2.0.2)
mistune (0.7.4)
nbconvert (5.2.1)
nbformat (4.3.0)
networkx (1.11)
nose (1.3.7)
notebook (5.0.0)
numpy (1.13.1)
olefile (0.44)
opencv-python (3.3.0.9)
pandas (0.20.3)
pandocfilters (1.4.1)
pexpect (4.2.1)
pickleshare (0.7.4)
Pillow (4.2.1)
pip (9.0.1)
prompt-toolkit (1.0.14)
protobuf (3.0.0b2)
ptyprocess (0.5.2)
Pygments (2.2.0)
pyparsing (2.2.0)
python-dateutil (2.6.1)
pytz (2017.2)
PyWavelets (0.5.2)
PyYAML (3.12)
pyzmq (16.0.2)
qtconsole (4.3.0)
scikit-image (0.13.0)
scikit-learn (0.18.2)
scipy (0.19.1)
setuptools (36.2.7)
simplegeneric (0.8.1)
six (1.10.0)
tensorflow (0.10.0)
terminado (0.6)
testpath (0.3.1)
tornado (4.5.1)
traitlets (4.3.2)
wcwidth (0.1.7)
webencodings (0.5.1)
wheel (0.29.0)
widgetsnbextension (2.0.0)

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

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

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

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

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

CodeLab

2017/08/27 15:27

tensorflow (0.10.0)はさすがにバージョンが古すぎると思うのですが、意図して使っていますか?※最新は1.3です。古いバージョンなのでわかりませんが、私の環境では、tensorflow-gpu (1.3.0) tensorflow-tensorboard (0.1.5)という感じで、tensorboard のモジュールが明確に出てきます。
mizu4423

2017/08/28 05:22 編集

すいません。まさにそれが原因でした・・・。tensorflowをアップグレードしたらプログラムが正常に動きました。ありがとうございました。
guest

回答1

0

自己解決

回答でなく、修正依頼の方をベストアンサーにする方法が分からなかったので、こちらに書かせていただきます。
CodeLab様のご意見によると、TensorFlowのバージョンが古いのではないかという点が原因ではないかとのことだったので、アップグレードしたら解決しました。
ありがとうございました。

投稿2017/08/28 05:26

mizu4423

総合スコア10

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問