Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 正在尝试使用未初始化的值接收v3/Mixed\u 6d/Branch\u 3/Conv2d\u 0b\u 1x_Python_Tensorflow_Initialization_Conv Neural Network_Tensorflow Slim - Fatal编程技术网

Python 正在尝试使用未初始化的值接收v3/Mixed\u 6d/Branch\u 3/Conv2d\u 0b\u 1x

Python 正在尝试使用未初始化的值接收v3/Mixed\u 6d/Branch\u 3/Conv2d\u 0b\u 1x,python,tensorflow,initialization,conv-neural-network,tensorflow-slim,Python,Tensorflow,Initialization,Conv Neural Network,Tensorflow Slim,我修改了Inception V3网络(删除了一些层模块),并创建了6个类的训练数据,每个类1个图像。当我执行训练时,我会得到错误 tensorflow.python.framework.errors\u impl.FailedPremissionError: 正在尝试使用未初始化的值 接收v3/Mixed_6d/Branch_3/Conv2d_0b_1x1/weights[[节点: 接收V3/Mixed_6d/分支3/Conv2d_0b_1x1/权重/读取= 标识[T=DT\u浮点,\u类=[“

我修改了Inception V3网络(删除了一些层模块),并创建了6个类的训练数据,每个类1个图像。当我执行训练时,我会得到错误

tensorflow.python.framework.errors\u impl.FailedPremissionError: 正在尝试使用未初始化的值 接收v3/Mixed_6d/Branch_3/Conv2d_0b_1x1/weights[[节点: 接收V3/Mixed_6d/分支3/Conv2d_0b_1x1/权重/读取= 标识[T=DT\u浮点,\u类=[“loc:/Branch\u 3/Conv2d\u 0

列车代码:

将tensorflow导入为tf
导入起始
导入创建记录
将numpy作为np导入
导入实用程序
宽度,高度=299299
班级=6
批量大小=6
学习率=0.01
最大步长=1
image_dir='/home/xzy/test/images/'
路径='/home/xzy/test/train.tfrecords'
logs_dir='/home/xzy/test/logs/'
#%%培训
def序列():
filename\u queue=tf.train.string\u input\u producer([path])
reader=tf.TFRecordReader()
_,序列化的\u示例=reader.read(文件名\u队列)
features=tf.parse_single_示例(序列化的_示例,
特征={
“标签”:tf.FixedLenFeature([],tf.int64),
“img_raw”:tf.FixedLenFeature([],tf.string),
})
image=tf.decode\u raw(特征['img\u raw',tf.uint8)
image=tf.重塑(图像[299299,3])
label=tf.cast(特性['label'],tf.int32)
image\u batch,label\u batch=tf.train.batch([image,label],
批量大小=6,线程数=64,容量=300)
label\u batch=tf.one\u hot(label\u batch,depth=classes)
label\u batch=tf.cast(label\u batch,dtype=tf.int32)
label\u batch=tf.重塑(label\u batch,[批次大小,类别])
x=tf.placeholder(tf.float32,形状=[批次大小、宽度、高度,3])
y=tf.placeholder(tf.int16,shape=[batch\u size,classes])
初始化所有变量()
logits=inception.inference(x,num\u classes=classes)
损失=初始损失(逻辑,y)
my_global_step=tf.Variable(0,name='global_step',trainable=False)
优化器=tf.train.GradientDescentOptimizer(学习率)
训练=优化器。最小化(损失,全局步骤=我的全局步骤)
saver=tf.train.saver(tf.global_variables())
summary\u op=tf.summary.merge\u all()
使用tf.Session()作为sess:
sess.run(初始化操作)
coord=tf.train.Coordinator()
线程=tf.train.start\u queue\u runner(coord=coord)
train\u summary\u writer=tf.summary.FileWriter(logs\u dir,sess.graph)
尝试:
对于np.arange中的步骤(最大步骤):
如果协调,则应停止():
打破
例如,lab=sess.run([image\u batch,label\u batch])
示例=tf.to_float(示例)
_,train_loss=sess.run([train_op,loss],feed_dict={x:example.eval(),y:lab})
如果步骤==0或(步骤+1)==最大步骤:
打印('步骤:%d,丢失:%.4f%'(步骤,序列丢失))
summary\u str=sess.run(summary\u op)
培训总结撰写者。添加总结(总结,步骤)
如果步骤%2000==0或(步骤+1)==max\u步骤:
checkpoint\u path=os.path.join(train\u log\u dir,'model.ckpt')
saver.save(sess、检查点路径、全局步骤=步骤)
除了tf.errors.OutOfRangeError:
打印('完成培训-达到历元极限')
协调请求停止()
坐标连接(线程)
sess.close()
列车()
错误堆栈跟踪:

回溯(最近一次呼叫最后一次):

文件“/home/xzy/PycharmProjects/network/train_inception.py”,第89行,在 列车()

文件“/home/xzy/PycharmProjects/network/train_inception.py”,第71行,in train()
_,train_loss=sess.run([train_op,loss],feed_dict={x:example.eval(),y:lab})

文件“/usr/local/lib/python2.7/dist packages/tensorflow/python/client/session.py”,第889行,正在运行 运行_元数据_ptr)

文件“/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py”,第1120行,正在运行 feed_dict_tensor、options、run_元数据)

文件“/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py”,第1317行,运行 选项,运行(元数据)

文件“/usr/local/lib/python2.7/dist packages/tensorflow/python/client/session.py”,第1336行,在 提升类型(e)(节点定义、操作、消息)

tensorflow.python.framework.errors\u impl.failedPremissionError:尝试使用未初始化的值InceptionV3/Mixed\u 6d/Branch\u 3/Conv2d\u 0b\u 1x1/weights [[Node:InceptionV3/Mixed\u 6d/Branch\u 3/Conv2d\u 0b\u 1x1/weights/read=Identity[T=DT\u FLOAT,\u class=[“loc:@InceptionV3/Mixed\u 6d/Branch\u 3/Conv2d\u 0

怎么了?有人能给我一些建议吗,谢谢


Tensorflow版本:1.5.0-dev20171206,python 2.7,Ubuntu 16.04。

您的
init_op
定义得太早了:

init_op=tf.initialize_all_variables()
#糟糕!下面的所有操作都无法初始化!
logits=inception.inference(x,num\u classes=classes)
损失=初始损失(逻辑,y)
my_global_step=tf.Variable(0,name='global_step',trainable=False)
优化器=tf.train.GradientDescentOptimizer(学习率)
训练=优化器。最小化(损失,全局步骤=我的全局步骤)
解决方案:

logits=inception.inference(x,num\u classes=classes)
损失=初始损失(逻辑,y)
my_global_step=tf.Variable(0,name='global_step',trainable=False)
优化器=tf.train.GradientDescentOptimizer(学习率)
训练=优化器。最小化(损失,全局步骤=我的全局步骤)
#现在没事了。
init_op=tf.global_variables_initializer()

您忘记了这个-@Maxim。谢谢您的回答。我将代码从
init\u op=tf.initialize更改为