2016-11-07 19 views
6

Tôi đang làm việc để tạo một ví dụ đồ chơi đơn giản trong TensorFlow và tôi đã gặp phải một lỗi lạ. Tôi có hai placeholders quy định như sau:Tôi làm cách nào để nạp phần giữ chỗ Tensorflow với mảng có nhiều mảng?

x = tf.placeholder(tf.float32, shape=[None,2]) [two-parameter input] 

y_ = tf.placeholder(tf.float32, shape=[None,2]) [one-hot labels] 

sau, tôi cố gắng để nuôi những placeholders với một feed_dict định nghĩa là:

feed_dict={x: batch[0].astype(np.float32), y_: batch[1].astype(np.float32)} 

đâu batch[0]batch[1] đều ndarrays NumPy kích thước (100,2) [được xác minh bằng cách in ra kích thước tương ứng của chúng]

Khi tôi cố gắng chạy mô hình, tôi gặp lỗi:

"InvalidArgumentError: You must feed a value for placeholder tensor 'Placeholder' with dtype float"

do Trình giữ chỗ "x" của tôi được xác định ở trên

Mọi người có thể nói tôi đang làm gì sai không? Tôi đã xem xét thông qua một số ví dụ trực tuyến và có vẻ như điều này sẽ làm việc ... Có cách nào khác để nuôi giữ chỗ với các giá trị từ mảng numpy?

Nếu có ích, tôi đang làm việc trong Ubuntu, SCL và Python 2.7, và tôi đã cài đặt tất cả các gói tiêu chuẩn và gói lưu lượng tiêu chuẩn.

+0

Để giúp gỡ lỗi, bạn có thể cung cấp cho tất cả các tensors và hoạt động một tên, ví dụ: bằng cách thực hiện 'x = tf.placeholder (..., name = 'x')'. Các thông báo lỗi ít khó hiểu hơn. – sunside

+0

Mã của bạn đã hoạt động, tôi đã làm điều tương tự trong máy của tôi, tức là cho 'tf.placeholder' với' numpy.ndarray' cùng loại ('float32'). Nó sẽ giúp nếu bạn đưa ra toàn bộ thông báo lỗi. –

Trả lời

4

Nếu không có toàn bộ mã của bạn, thật khó để trả lời chính xác. Tôi đã cố gắng tái tạo những gì bạn mô tả trong ví dụ đồ chơi và nó đã hoạt động.

import tensorflow as tf 
import numpy as np 

x = tf.placeholder(tf.float32, shape=[None, 2]) 
y_ = tf.placeholder(tf.float32, shape=[None, 2]) 
loss = tf.reduce_sum(tf.abs(tf.sub(x, y_)))#Function chosen arbitrarily 
input_x=np.random.randn(100, 2)#Random generation of variable x 
input_y=np.random.randn(100, 2)#Random generation of variable y 

with tf.Session() as sess: 
    print(sess.run(loss, feed_dict={x: input_x, y_: input_y})) 
Các vấn đề liên quan