1 回答
TA贡献1809条经验 获得超8个赞
由于您的问题不准确,您的问题几乎无法解释。
第一种解释: 如果您要问的是,如果您的神经网络接收大小为 256 的输入向量并输出大小为 256的向量,那么答案是否定的,您不能输入向量的一部分作为输入并期望它工作。
第二种解释: 如果您要问的是,如果您有 256个数据(每个数据是一个 n 大小的向量)并且您想通过输入前 16 个,然后是第二个 16,以此类推直到第 16 个来训练网络16,是的,很有可能。根据您给出的示例代码,您需要做的就是创建一个循环 2 次的 for 循环(因为在您的示例中,有 4 个数据,您希望将它们输入一组 2)并且,
更改这些代码行:
for step in range(500):
loss_train, _ = sess.run([loss, train], feed_dict=feeddict_train)`
至
for step in range(500):
temp_list = [] #an empty list
for i in range(0,4,2):
loss_train, _ = sess.run([loss, train], feed_dict={x:x_train[i:i+2], y:y_train[i:i+2]}
temp_list.append(loss_train) #append the loss of the network for each group of data.
这些将允许网络独立地使用两组数据进行训练并从中学习。您可以在新的 for 循环之前简单地创建一个空列表并将其中的输出连接起来。
希望这可以帮助。如果我错误地理解了您的问题,请告诉我。干杯。
添加回答
举报