TypeError: Expected bool for argument 'transpose_a' not <tensorflow.python.ops.variables.Variable object at 0x7f0732493630>.
とエラーが出ました。
def xxx(train_X, train_y, test_X): train_X= tf.placeholder(tf.float32,[None,784]) train_y= tf.placeholder(tf.float32,[None,784]) W = tf.Variable(tf.zeros([784,10])) b = tf.Variable(tf.zeros([10])) y = tf.nn.softmax(tf.matmul(train_X, train_y,W)+b) pred_y= tf.placeholder(tf.float32,[None,10]) cross_entropy = -tf.reduce_sum(pred_y*tf.log(y)) train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy) init = tf.initialize_all_variables() correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1)) accuracy = tf.reduce_mean(tf.cast(correct_prediction,"foat")) return pred_y
とMNISTを読み込んで推測する準備をするコードを記事を参考にしながら書きました。
訓練画像を入れる変数→重みの用意→バイアスの用意→ソフトマックス回帰→予想ラベルの用意→交差エントロピー→勾配硬化法→変数の初期化→正しいかの予測→精度の計算の順にコードを構築しました。
さらに、このxxxメソッドを呼び出すコードを以下に書きました。
from sklearn.utils import shuffle from sklearn.metrics import f1_score from sklearn.datasets import fetch_mldata from sklearn.model_selection import train_test_split import numpy as np import tensorflow as tf del [ tf.app, tf.compat, tf.contrib, tf.errors, tf.gfile, tf.graph_util, tf.image, tf.layers, tf.logging, tf.losses, tf.metrics, tf.python_io, tf.resource_loader, tf.saved_model, tf.sdca, tf.sets, tf.summary, tf.sysconfig, tf.test, tf.train ] def load_mnist(): mnist = fetch_mldata('MNIST original') mnist_X, mnist_y = shuffle(mnist.data.astype('float32'), mnist.target.astype('int32'), random_state=42) mnist_X = mnist_X / 255.0 return train_test_split(mnist_X, mnist_y, test_size=0.2, random_state=42) def validate(): train_X, test_X, train_y, test_y = load_mnist() # validate for small dataset train_X_mini = train_X[:100] train_y_mini = train_y[:100] test_X_mini = test_X[:100] test_y_mini = test_y[:100] pred_y = xxx(train_X_mini, train_y_mini, test_X_mini) print(f1_score(test_y_mini, pred_y, average='macro')) def score(): train_X, test_X, train_y, test_y = load_mnist() pred_y = xxx(train_X, train_y, test_X) print(f1_score(test_y, pred_y, average='macro'))
validate() #score()
これらの3つのコードを上から順に Jupyter Notebookで実行したのですが、
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-13-6eaef2a4f45a> in <module>() ----> 1 validate() 2 #score() <ipython-input-12-64b812fb44e9> in validate_homework() 50 test_y_mini = test_y[:100] 51 ---> 52 pred_y = xxx(train_X_mini, train_y_mini, test_X_mini) 53 print(f1_score(test_y_mini, pred_y, average='macro')) 54 <ipython-input-11-f4e0642d25c8> in homework(train_X, train_y, test_X) 4 W = tf.Variable(tf.zeros([784,10])) 5 b = tf.Variable(tf.zeros([10])) ----> 6 y = tf.nn.softmax(tf.matmul(train_X, train_y,W)+b) 7 #1行10列のベクトルに正解ラベルがなるようにしている? 8 pred_y= tf.placeholder(tf.float32,[None,10]) /usr/local/lib/python3.4/dist-packages/tensorflow/python/ops/math_ops.py in matmul(a, b, transpose_a, transpose_b, adjoint_a, adjoint_b, a_is_sparse, b_is_sparse, name) 1853 else: 1854 return gen_math_ops._mat_mul( -> 1855 a, b, transpose_a=transpose_a, transpose_b=transpose_b, name=name) 1856 1857 /usr/local/lib/python3.4/dist-packages/tensorflow/python/ops/gen_math_ops.py in _mat_mul(a, b, transpose_a, transpose_b, name) 1452 """ 1453 result = _op_def_lib.apply_op("MatMul", a=a, b=b, transpose_a=transpose_a, -> 1454 transpose_b=transpose_b, name=name) 1455 return result 1456 /usr/local/lib/python3.4/dist-packages/tensorflow/python/framework/op_def_library.py in apply_op(self, op_type_name, name, **keywords) 690 attr_value.list.f.extend([_MakeFloat(x, key) for x in value]) 691 elif attr_def.type == "bool": --> 692 attr_value.b = _MakeBool(value, key) 693 elif attr_def.type == "list(bool)": 694 attr_value.list.b.extend([_MakeBool(x, key) for x in value]) /usr/local/lib/python3.4/dist-packages/tensorflow/python/framework/op_def_library.py in _MakeBool(v, arg_name) 167 if not isinstance(v, bool): 168 raise TypeError("Expected bool for argument '%s' not %s." % --> 169 (arg_name, repr(v))) 170 return v 171 TypeError: Expected bool for argument 'transpose_a' not <tensorflow.python.ops.variables.Variable object at 0x7f0732493630>.
とエラーが出ました。私が書いていない'transpose_a'のところでエラーが出ているのが理解できません。どう直せばよいのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。