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

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

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

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

5742閲覧

TensorFlowのチュートリアルについてです

r--y--o

総合スコア10

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

2クリップ

投稿2016/11/02 10:04

編集2016/11/04 08:19

ValueError: Cannot feed value of shape (420,) for Tensor u'Placeholder_1:0', which has shape (Dimension(None), Dimension(6))
というエラーが起きます。

TensorFlowのチュートリアルを少し変更して音楽データの分類をしてもらおうと思っています。下記のコードですが、チュートリアルから少し変えただけです。読み込むデータはcepsというもので13の次元を持つ配列です(表現間違ってたらごめんなさい)、600個のデータがあります。

-- coding: utf-8 --

from future import absolute_import, unicode_literals
import tensorflow as tf
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
from utils import GENRE_LIST
from ceps import read_ceps

genre_list = GENRE_LIST
X, y = read_ceps(genre_list)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

print "Start Tutorial"
x = tf.placeholder("float", [None, 13]) #読み込みデータの格納
W = tf.Variable(tf.zeros([13, 6])) #重みの定義
b = tf.Variable(tf.zeros([6])) #バイアスの定義
y = tf.nn.softmax(tf.matmul(x, W) + b) #モデルの定義
y_ = tf.placeholder("float", [None, 6]) #正解データの格納
cross_entropy = -tf.reduce_sum(y_ * tf.log(y)) #クロスエントロピーの定義

train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)

print "init"
init = tf.initialize_all_variables() #変数の初期化
sess = tf.Session()
sess.run(init) #実行

print "1000回学習と結果表示"
for i in range(1000):
sess.run(train_step, feed_dict={x: X_train, y_: y_train}) #データをxとy_に格納した後train_stepを実行

correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1)) #ブール値に変換
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float")) #浮動小数点にキャストして平均を取り出す
print sess.run(accuracy, feed_dict={x: X_test, y_: y_test})

#次のような実行結果が出ます。

Start Tutorial
init
I tensorflow/core/common_runtime/local_device.cc:40] Local device intra op parallelism threads: 4
I tensorflow/core/common_runtime/direct_session.cc:58] Direct session inter op parallelism threads: 4
Traceback (most recent call last):
1000回学習と結果表示
File "/Users/yamayaryo/PycharmProjects/Iris/MNIST.py", line 37, in <module>
sess.run(train_step, feed_dict={x: X_train, y_: y_train}) #データをxとy_に格納した後train_stepを実行
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 364, in run
tuple(subfeed_t.get_shape().dims)))
ValueError: Cannot feed value of shape (420,) for Tensor u'Placeholder_1:0', which has shape (Dimension(None), Dimension(6))

このエラーはどのようにすれば消えるでしょうか?
よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

y_のshapeが(-1,6)であるところに420という大きさを与えていることがエラー原因となります。
read_ceps()の返り値かtrain_test_split()の中身を確認されたほうが良いかと思います。

投稿2017/01/20 16:05

H.Mayu

総合スコア16

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問