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

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

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

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

Python 3.x

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

Q&A

解決済

1回答

2834閲覧

エラーの意味がわからないです

_toy

総合スコア28

Keras

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

Python 3.x

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

0グッド

0クリップ

投稿2019/07/29 10:03

前提・実現したいこと

windowsのコマンドプロンプトでpyhonファイルを実行しようとしたと時にエラーがでて、実行できないのですがえらーのいみがわからないので教えていただきたいです。
オセロのAIが作りたくて実装をしようとしていました。

とってきたgitはここです

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

Traceback (most recent call last): File "train_cycle.py", line 6, in <module> from dual_network import dual_network File "C:\Users\KtysLab\Desktop\osero\tf-dqn-reversi\dual_network.py", line 6, in <module> from tensorflow.keras.layers import Activation, Add, BatchNormalization, Conv2D, Dense, GlobalAveragePooling2D, Input File "C:\Users\KtysLab\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\__init__.py", line 28, in <module> from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import File "C:\Users\KtysLab\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\__init__.py", line 52, in <module> from tensorflow.core.framework.graph_pb2 import * File "C:\Users\KtysLab\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\core\framework\graph_pb2.py", line 16, in <module> from tensorflow.core.framework import node_def_pb2 as tensorflow_dot_core_dot_framework_dot_node__def__pb2 File "C:\Users\KtysLab\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\core\framework\node_def_pb2.py", line 16, in <module> from tensorflow.core.framework import attr_value_pb2 as tensorflow_dot_core_dot_framework_dot_attr__value__pb2 File "C:\Users\KtysLab\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\core\framework\attr_value_pb2.py", line 16, in <module> from tensorflow.core.framework import tensor_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__pb2 File "C:\Users\KtysLab\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\core\framework\tensor_pb2.py", line 16, in <module> from tensorflow.core.framework import resource_handle_pb2 as tensorflow_dot_core_dot_framework_dot_resource__handle__pb2 File "C:\Users\KtysLab\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\core\framework\resource_handle_pb2.py", line 23, in <module> serialized_pb=_b('\n/tensorflow/core/framework/resource_handle.proto\x12\ntensorflow\"r\n\x13ResourceHandleProto\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x11\n\tcontainer\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\thash_code\x18\x04 \x01(\x04\x12\x17\n\x0fmaybe_type_name\x18\x05 \x01(\tBn\n\x18org.tensorflow.frameworkB\x0eResourceHandleP\x01Z=github.com/tensorflow/tensorflow/tensorflow/go/core/framework\xf8\x01\x01\x62\x06proto3') TypeError: __init__() got an unexpected keyword argument 'serialized_options'

該当のソースコード

一番初めのえらーのファイルをのせています

# ==================== # デュアルネットワークの作成 # ==================== # パッケージのインポート from tensorflow.keras.layers import Activation, Add, BatchNormalization, Conv2D, Dense, GlobalAveragePooling2D, Input from tensorflow.keras.models import Model from tensorflow.keras.regularizers import l2 from tensorflow.keras import backend as K import os # パラメータの準備 DN_FILTERS = 128 # 畳み込み層のカーネル数(本家は256) DN_RESIDUAL_NUM = 16 # 残差ブロックの数(本家は19) DN_INPUT_SHAPE = (8, 8, 2) # 入力シェイプ DN_OUTPUT_SIZE = 65 # 行動数(配置先(6*6)+パス(1)) # 畳み込み層の作成 def conv(filters): return Conv2D(filters, 3, padding='same', use_bias=False, kernel_initializer='he_normal', kernel_regularizer=l2(0.0005)) # 残差ブロックの作成 def residual_block(): def f(x): sc = x x = conv(DN_FILTERS)(x) x = BatchNormalization()(x) x = Activation('relu')(x) x = conv(DN_FILTERS)(x) x = BatchNormalization()(x) x = Add()([x, sc]) x = Activation('relu')(x) return x return f # デュアルネットワークの作成 def dual_network(): # モデル作成済みの場合は無処理 if os.path.exists('./model/best.h5'): return # 入力層 input = Input(shape=DN_INPUT_SHAPE) # 畳み込み層 x = conv(DN_FILTERS)(input) x = BatchNormalization()(x) x = Activation('relu')(x) # 残差ブロック x 16 for i in range(DN_RESIDUAL_NUM): x = residual_block()(x) # プーリング層 x = GlobalAveragePooling2D()(x) # ポリシー出力 p = Dense(DN_OUTPUT_SIZE, kernel_regularizer=l2(0.0005), activation='softmax', name='pi')(x) # バリュー出力 v = Dense(1, kernel_regularizer=l2(0.0005))(x) v = Activation('tanh', name='v')(v) # モデルの作成 model = Model(inputs=input, outputs=[p,v]) # モデルの保存 os.makedirs('./model/', exist_ok=True) # フォルダがない時は生成 model.save('./model/best.h5') # ベストプレイヤーのモデル # モデルの破棄 K.clear_session() del model # 動作確認 if __name__ == '__main__': dual_network()

試したこと

各バージョンのチェックを行い、
エラー文を読みましたが意味が分からず手をつけることができていません。

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

各バージョンは
python 3.6.4
tensorflow 1.14.0
Keras 2.1.2
です。

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

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

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

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

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

tiitoi

2019/07/29 10:13

Github のコードはこの書籍 https://www.amazon.co.jp/dp/4862464505 で紹介しているコードみたいですが、TensorFlow のバージョンが書籍で想定しているものと違ったりするのではないでしょうか。どのバージョンの TensorFlow を使うべきか書籍に書いてないですか?
_toy

2019/07/29 10:34

書籍を購入していないので早速購入してみたいとおもいます。 エラーの内容としてはtensorflowのバージョンがあっていないということでいいのですか?
tiitoi

2019/07/29 10:46

すみません。Github のそのレポジトリはQiita のhttps://qiita.com/sasaco/items/3b0b8565d6aa2a640caf の記事のコードのようで、書籍と直接は関係なかったかもしれません。 ただ書籍の目次にもリバーシのプログラムが出てきていたので、その本を参考にした可能性はあります。(※ 自分は書籍を持っていないので詳しい内容はわかりません。) https://www.amazon.co.jp/dp/4862464505 Amazon のなか見検索で見れるP67ページに Tensorflow 1.12.1 を使っていると書いてありました。
tiitoi

2019/07/29 10:48

以下の issue によると、そのエラーは protobuf を最新版にすると直る可能性があります。(protobuf は TensorFlow 内で使っているライブラリです) https://github.com/tensorflow/models/issues/3995 pip install -U protobuf
_toy

2019/07/29 12:10

コマンドを入力したところ無事解決しました!! 親切に教えていただき本当にありがとうございます!
_toy

2019/07/29 12:12

回答のほうでもう一度うってもらったらすぐにベストアンサーつけさせていただきます!
tiitoi

2019/07/29 13:52

解決されたようでよかったです。
guest

回答1

0

ベストアンサー

以下の issue によると、そのエラーは protobuf を最新版にすると直る可能性があります。
protobuf は TensorFlow 内で使っているライブラリです

https://github.com/tensorflow/models/issues/3995

以下のコマンドで最新版の protobuf をインストールできます。

pip install -U protobuf

投稿2019/07/29 13:51

tiitoi

総合スコア21956

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問