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

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

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

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

Q&A

解決済

1回答

7023閲覧

ValueError: None values not supported.が出てきます。

daisuke_factex

総合スコア42

Python 3.x

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

0グッド

0クリップ

投稿2017/07/24 04:04

編集2017/07/24 04:36

##やりたいこと

tensorflowでニューラルネットワークを構築したい。

##発生している問題

tensorflowで任意の変数を指定する際にNoneを使うのですが、
Noneを使ったところ、

ValueError: None values not supported

が発生してしまいました。

##問題のコード

import tensorflow as tf def weight(shape = []): initial = tf.truncated_nomal(shape, stddev = 0.01) return tf.Variable(initial) def bias(dtype =tf.float32, shape = []): initial = tf.zeros(shape, dtype= dtype) return tf.Variable(initial) P,Q=5,2 X = tf.placeholder(dtype = tf.float32, shape =[None, 0]) W = weight(shape = [Q,P]) b = bias(shape = [P]) f = tf.matmul(X ,W)+b

###使用環境

Ubuntu16.
python3.x
tensorflow 0.7.1

####追記

nomal→normalに訂正したところ、

>>> def weight(shape = []): ... initial = tf.truncated_normal(shape, stddev = 0.01) ... return tf.Variable(initial) ... >>> def bias(dtype =tf.float32, shape = []): ... initial = tf.zeros(shape, dtype= dtype) ... return tf.Variable(initial) ... >>> P,Q=5,2 >>> >>> X = tf.placeholder(dtype = tf.float32, shape =[None, 0]) >>> W = weight(shape = [Q,P]) >>> b = bias(shape = [P]) >>> f = tf.matmul(X ,W)+b Traceback (most recent call last): File "/home/daisuke/.local/lib/python3.5/site-packages/tensorflow/python/framework/common_shapes.py", line 671, in _call_cpp_shape_fn_impl input_tensors_as_shapes, status) File "/usr/lib/python3.5/contextlib.py", line 66, in __exit__ next(self.gen) File "/home/daisuke/.local/lib/python3.5/site-packages/tensorflow/python/framework/errors_impl.py", line 466, in raise_exception_on_not_ok_status pywrap_tensorflow.TF_GetCode(status)) tensorflow.python.framework.errors_impl.InvalidArgumentError: Dimensions must be equal, but are 0 and 2 for 'MatMul_1' (op: 'MatMul') with input shapes: [?,0], [2,5]. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/daisuke/.local/lib/python3.5/site-packages/tensorflow/python/ops/math_ops.py", line 1816, in matmul a, b, transpose_a=transpose_a, transpose_b=transpose_b, name=name) File "/home/daisuke/.local/lib/python3.5/site-packages/tensorflow/python/ops/gen_math_ops.py", line 1217, in _mat_mul transpose_b=transpose_b, name=name) File "/home/daisuke/.local/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py", line 767, in apply_op op_def=op_def) File "/home/daisuke/.local/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 2508, in create_op set_shapes_for_outputs(ret) File "/home/daisuke/.local/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 1873, in set_shapes_for_outputs shapes = shape_func(op) File "/home/daisuke/.local/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 1823, in call_with_requiring return call_cpp_shape_fn(op, require_shape_fn=True) File "/home/daisuke/.local/lib/python3.5/site-packages/tensorflow/python/framework/common_shapes.py", line 610, in call_cpp_shape_fn debug_python_shape_fn, require_shape_fn) File "/home/daisuke/.local/lib/python3.5/site-packages/tensorflow/python/framework/common_shapes.py", line 676, in _call_cpp_shape_fn_impl raise ValueError(err.message) ValueError: Dimensions must be equal, but are 0 and 2 for 'MatMul_1' (op: 'MatMul') with input shapes: [?,0], [2,5]. >>>

とより複雑なエラーが出てきました・・・

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

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

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

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

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

_Victorique__

2017/07/24 04:21

どこでエラー起きてるのか教えてください。
daisuke_factex

2017/07/24 04:25

今、もう一度コードをやると違うエラーが出てきました。本文に追記します。
can110

2017/07/24 04:31

「truncated_nomal」→「truncated_normal」です。誤字脱字を再確認して再度実行した結果を追記ください。
guest

回答1

0

ベストアンサー

Dimensions must be equal, but are 0 and 2 for 'MatMul_1' (op: 'MatMul') with input shapes: [?,0], [2,5].

テンソル(行列)のshapeが合っていないというエラーです。
今一度、X,b,Wのshapeが、やりたいことと一致しているか確認ください。
コードから判断するかぎり、X[None,2]であるべきです。

投稿2017/07/24 04:50

can110

総合スコア38262

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

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

daisuke_factex

2017/07/24 05:02

ご指摘の通り、shapeに関して[None,2]にしたところエラーがなくなりました! 手本としては[None,**Q**]だったところQを0と見誤っておりました。 ありがとうございました!
can110

2017/07/24 05:07

>Qを0と見誤っておりました なるほど。P=ノード数、Q=層数のようですね。それなら納得です。
daisuke_factex

2017/07/24 05:08

お騒がせしました・・・(汗)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問