我不知道如何使用tensorarray.这是代码.那是什么错误?
import tensorflow as tf
aI=tf.TensorArray(tf.int32, 2)
aO=tf.TensorArray(tf.int32, 2)
aI=aI.unpack([[1,2],[1,2]])
def body(i,aI,aO):
aO.write(i, aI.read(i)+1)
return (i+1, aI, aO)
cond=lambda i, *_ : i<2
_, _, aO=tf.while_loop(cond, body, [0,aI,aO])
r=aO.pack()
with tf.Session() as sess:
res=sess.run(r)
print('done!')
Run Code Online (Sandbox Code Playgroud) 即使是一个训练循环,我也无法运行我的代码,它停留在sess.run或training_op.run函数(永远运行代码......).我不知道这个错误在哪里.
samples_all, labels_all = getsamples()
Run Code Online (Sandbox Code Playgroud)
上面的代码加载数据集.samples_all是包含图像路径的列表.图像的大小为240*320*3. labels_all是一个包含密集类的列表.有101个班级.我进入sess.run函数,发现它进入_do_call函数,并执行fn(*args).但是,它永远不会返回,也不会捕获任何异常.
import pickle
import re
import random
import numpy as np
import tensorflow as tf
from tensorflow.contrib import *
_R_MEAN = 123.68
_G_MEAN = 116.78
_B_MEAN = 103.94
def vgg16Net(inputs,
num_classes=1000,
is_training=True,
dropout_keep_prob=0.5,
spatial_squeeze=True,
scope='vgg_16'):
with tf.variable_scope(scope, 'vgg_16', [inputs]) as sc:
end_points_collection = sc.name + '_end_points'
# Collect outputs for conv2d, fully_connected and max_pool2d
with framework.arg_scope([slim.conv2d, slim.fully_connected, slim.max_pool2d],
outputs_collections=end_points_collection):
net = layers.repeat(inputs, 2, layers.conv2d, 64, [3, 3], scope='conv1')
net = layers.max_pool2d(net, [2, 2], scope='pool1') …Run Code Online (Sandbox Code Playgroud)