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

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

新規登録して質問してみよう
ただいま回答率
85.35%
CNN (Convolutional Neural Network)

CNN (Convolutional Neural Network)は、全結合層のみではなく畳み込み層とプーリング層で構成されるニューラルネットワークです。画像認識において優れた性能を持ち、畳み込みニューラルネットワークとも呼ばれています。

Python 3.x

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

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Q&A

0回答

1139閲覧

Mask R CNNが実行できない

chem_search

総合スコア30

CNN (Convolutional Neural Network)

CNN (Convolutional Neural Network)は、全結合層のみではなく畳み込み層とプーリング層で構成されるニューラルネットワークです。画像認識において優れた性能を持ち、畳み込みニューラルネットワークとも呼ばれています。

Python 3.x

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

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

0グッド

0クリップ

投稿2022/01/10 05:02

編集2022/01/11 12:35

前提・実現したいこと

実現したいこと:Mask R CNNを実行したい

以下の記事を参考に再現しようと、記載されたものと同様の手順で記載されたコードの実行を行いました。
https://qiita.com/Yooooo/items/3798c3f87393217cc219

使用したライブラリのバージョンは補足情報の欄に記載の通りです。
Mask_RCNNのgithubのrequirementsに指定のあった
tensorflowとkerasのverのみダウングレードし、
h5pyは以下の記事と同様のエラーが出たためバージョンを下げてインストールし直しました。
https://qiita.com/Hiroki-Fujimoto/items/b078bfb680fb710c38c1

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

実行すると下記のようなエラーが出ます。

Python

1InvalidArgumentError Traceback (most recent call last) 2~\anaconda3\envs\mask_r_cnn_env\lib\site-packages\tensorflow\python\framework\common_shapes.py in _call_cpp_shape_fn_impl(op, input_tensors_needed, input_tensors_as_shapes_needed, require_shape_fn) 3 653 graph_def_version, node_def_str, input_shapes, input_tensors, 4--> 654 input_tensors_as_shapes, status) 5 655 except errors.InvalidArgumentError as err: 6 7~\anaconda3\envs\mask_r_cnn_env\lib\contextlib.py in __exit__(self, type, value, traceback) 8 87 try: 9---> 88 next(self.gen) 10 89 except StopIteration: 11 12~\anaconda3\envs\mask_r_cnn_env\lib\site-packages\tensorflow\python\framework\errors_impl.py in raise_exception_on_not_ok_status() 13 465 compat.as_text(pywrap_tensorflow.TF_Message(status)), 14--> 466 pywrap_tensorflow.TF_GetCode(status)) 15 467 finally: 16 17InvalidArgumentError: Dimension 1 in both shapes must be equal, but are 324 and 8 for 'Assign_682' (op: 'Assign') with input shapes: [1024,324], [1024,8]. 18 19During handling of the above exception, another exception occurred: 20 21ValueError Traceback (most recent call last) 22<ipython-input-2-1b19d189f47c> in <module> 23 41 24 42 #学習データの指定 25---> 43 model.load_weights("mask_rcnn_balloon.h5", by_name=True) 26 44 27 45 #自分が表示したい画像を指定する 28 29~○○○\Mask_RCNN\mrcnn\model.py in load_weights(self, filepath, by_name, exclude) 30 2128 31 2129 if by_name: 32-> 2130 saving.load_weights_from_hdf5_group_by_name(f, layers) 33 2131 else: 34 2132 saving.load_weights_from_hdf5_group(f, layers) 35 36~\anaconda3\envs\mask_r_cnn_env\lib\site-packages\keras\engine\topology.py in load_weights_from_hdf5_group_by_name(f, layers) 37 3156 weight_value_tuples.append((symbolic_weights[i], 38 3157 weight_values[i])) 39-> 3158 K.batch_set_value(weight_value_tuples) 40 41~\anaconda3\envs\mask_r_cnn_env\lib\site-packages\keras\backend\tensorflow_backend.py in batch_set_value(tuples) 42 2186 assign_placeholder = tf.placeholder(tf_dtype, 43 2187 shape=value.shape) 44-> 2188 assign_op = x.assign(assign_placeholder) 45 2189 x._assign_placeholder = assign_placeholder 46 2190 x._assign_op = assign_op 47 48~\anaconda3\envs\mask_r_cnn_env\lib\site-packages\tensorflow\python\ops\variables.py in assign(self, value, use_locking) 49 525 the assignment has completed. 50 526 """ 51--> 527 return state_ops.assign(self._variable, value, use_locking=use_locking) 52 528 53 529 def assign_add(self, delta, use_locking=False): 54 55~\anaconda3\envs\mask_r_cnn_env\lib\site-packages\tensorflow\python\ops\state_ops.py in assign(ref, value, validate_shape, use_locking, name) 56 272 return gen_state_ops.assign( 57 273 ref, value, use_locking=use_locking, name=name, 58--> 274 validate_shape=validate_shape) 59 275 return ref.assign(value) 60 61~\anaconda3\envs\mask_r_cnn_env\lib\site-packages\tensorflow\python\ops\gen_state_ops.py in assign(ref, value, validate_shape, use_locking, name) 62 41 result = _op_def_lib.apply_op("Assign", ref=ref, value=value, 63 42 validate_shape=validate_shape, 64---> 43 use_locking=use_locking, name=name) 65 44 return result 66 45 67 68~\anaconda3\envs\mask_r_cnn_env\lib\site-packages\tensorflow\python\framework\op_def_library.py in apply_op(self, op_type_name, name, **keywords) 69 765 op = g.create_op(op_type_name, inputs, output_types, name=scope, 70 766 input_types=input_types, attrs=attr_protos, 71--> 767 op_def=op_def) 72 768 if output_structure: 73 769 outputs = op.outputs 74 75~\anaconda3\envs\mask_r_cnn_env\lib\site-packages\tensorflow\python\framework\ops.py in create_op(self, op_type, inputs, dtypes, input_types, name, attrs, op_def, compute_shapes, compute_device) 76 2630 original_op=self._default_original_op, op_def=op_def) 77 2631 if compute_shapes: 78-> 2632 set_shapes_for_outputs(ret) 79 2633 self._add_op(ret) 80 2634 self._record_op_seen_by_control_dependencies(ret) 81 82~\anaconda3\envs\mask_r_cnn_env\lib\site-packages\tensorflow\python\framework\ops.py in set_shapes_for_outputs(op) 83 1909 shape_func = _call_cpp_shape_fn_and_require_op 84 1910 85-> 1911 shapes = shape_func(op) 86 1912 if shapes is None: 87 1913 raise RuntimeError( 88 89~\anaconda3\envs\mask_r_cnn_env\lib\site-packages\tensorflow\python\framework\ops.py in call_with_requiring(op) 90 1859 91 1860 def call_with_requiring(op): 92-> 1861 return call_cpp_shape_fn(op, require_shape_fn=True) 93 1862 94 1863 _call_cpp_shape_fn_and_require_op = call_with_requiring 95 96~\anaconda3\envs\mask_r_cnn_env\lib\site-packages\tensorflow\python\framework\common_shapes.py in call_cpp_shape_fn(op, require_shape_fn) 97 593 res = _call_cpp_shape_fn_impl(op, input_tensors_needed, 98 594 input_tensors_as_shapes_needed, 99--> 595 require_shape_fn) 100 596 if not isinstance(res, dict): 101 597 # Handles the case where _call_cpp_shape_fn_impl calls unknown_shape(op). 102 103~\anaconda3\envs\mask_r_cnn_env\lib\site-packages\tensorflow\python\framework\common_shapes.py in _call_cpp_shape_fn_impl(op, input_tensors_needed, input_tensors_as_shapes_needed, require_shape_fn) 104 657 missing_shape_fn = True 105 658 else: 106--> 659 raise ValueError(err.message) 107 660 108 661 if missing_shape_fn: 109 110ValueError: Dimension 1 in both shapes must be equal, but are 324 and 8 for 'Assign_682' (op: 'Assign') with input shapes: [1024,324], [1024,8].

試したこと・ご相談したいこと

エラーがmodel.load_weights(~~)の部分で起きていることとエラー文の内容から、重みファイルの形式がおかしいのかと思っているのですが、Qitaの記事では問題なく実行できていたため、自分の環境と何が異なってエラーになっているかが分かりません。

エラーの原因、加えてエラー無く実行できるようにするにはどうすればよいか、
ご存じの方がいらっしゃいましたら教えて頂きたいです。
よろしくお願いいたします。

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

python 3.6.13
keras 2.0.8
tensorflow 1.3.0
h5py 2.10.0

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問