Tôi muốn đào tạo một mạng có các đường cong phẳng, mà tôi biểu diễn dưới dạng mảng numpy với hình dạng (L,2)
. Số 2 là viết tắt của x, y tọa độ và L là số điểm đang thay đổi trong tập dữ liệu của tôi. Tôi coi x, y là 2 "kênh" khác nhau.Làm thế nào để nạp dữ liệu vào với kích thước thay đổi trong Tensorflow
Tôi đã thực hiện một hàm, next_batch(batch_size)
, cung cấp lô tiếp theo dưới dạng mảng khối u 1D có hình dạng (batch_size,)
, chứa các phần tử là mảng 2D có hình dạng: (L,2)
. Đây là những đường cong của tôi, và như đã đề cập trước đây, L là khác nhau giữa các yếu tố. (Tôi không muốn giam giữ số điểm cố định trong đường cong).
Câu hỏi của tôi:
Làm thế nào tôi có thể thao tác các đầu ra từ next_batch()
vì vậy tôi sẽ có thể để nuôi mạng với các đường cong đầu vào, sử dụng một chương trình tương tự với những gì xuất hiện trong Tensorflow hướng dẫn: https://www.tensorflow.org/get_started/mnist/pros
tức là, sử dụng cơ chế feed_dict
. Trong trao turorial kích thước đầu vào đã được cố định, phù mã của hướng dẫn:
train_step.run(feed_dict={x: batch[0], y_: batch[1], keep_prob: 0.5})
batch[0]
có hình dạng cố định: (50,784)
(50 = # mẫu, 784 = #pixels)
tôi không thể thay đổi của tôi nhập vào mảng numpy với hình dạng (batch_size,L,2)
vì mảng phải có kích thước cố định trong mọi kích thước. Vì vậy, tôi có thể làm gì?
tôi đã được xác định một placeholder (có thể có kích thước chưa biết):
#first dimension is the sample dim, second is curve length, third:x,y coordinates
x = tf.placeholder(tf.float32, [None, None,2])
nhưng làm thế nào tôi có thể ăn nó đúng cách?
Cảm ơn bạn rất nhiều
Có phải đệm đầu vào là giải pháp khả thi không? –
không may là không, trong bài toán của tôi –
@Day_Dreamer bạn phải dán nó để sử dụng theo đợt. Làm cách nào để tạo một trình giữ chỗ có độ dài? – Maxim