用tensorflow搭建卷积神经网络,使用yield来返回数据batch,然后输入到卷积神经网络训练,相关代码如下:
def generate_batch(batch_train_list, max_frame, size_x, size_y, batch_label):
batch_rgb = get_rgb_batch(batch_train_list, max_frame, size_x, size_y)
# 得到rgb特征 [video/batch_size,batch_size,max_frame,size_x,size_y,3],
# size_x和size_y为图片大小,max_frame为每个视频抽取出的帧数,3为通道数
batch_label = np.asarray(batch_label, dtype=np.int32)
for i, j in zip(batch_rgb, batch_label):
# 按batch返回
yield i, j
train_label = tf.cast(tf.convert_to_tensor(train_label), dtype=tf.int32)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
# step = 1000
for i in range(1000):
for xs, ys in tool.generate_batch(train_list,max_frame,size_x,size_y,train_label):
sess.run(train_step, feed_dict={tf_X: xs, tf_Y: ys})
运行之后报错,报错处为&