tensorflow下已经初始化,但还是存在 Attempting to use uninitialized value的解决方案

init = tf.global_variables_initializer()要写到函数调用的后面

import tensorflow.contrib.slim as slim
import tensorflow as tf

def Mobilenet(input_shape,classes,is_training=True,width_multiplier=1,use_bias=True):

    inputs = tf.random_normal(shape=input_shape)

    with tf.variable_scope('Mobilenet'):
        net = slim.conv2d(inputs,num_outputs=32,kernel_size=[3,3],stride=2,padding='SAME',scope='conv_1/conv2d')

    return net

if __name__ == "__main__":

    inputs_shape = [4, 224, 224, 3]
    classes = 1000

    writer = tf.summary.FileWriter("./logs1",graph=tf.get_default_graph())


    predictions = Mobilenet(inputs_shape,classes)
    init = tf.global_variables_initializer()
    # print(predictions.shape)
    with tf.Session() as sess:
        sess.run(init)
       # predictions = Mobilenet(inputs_shape, classes)

        pred = sess.run(predictions)
        print(pred.shape)

输出(4, 112, 112, 32)

以下为错误实例:

import tensorflow.contrib.slim as slim
import tensorflow as tf

def Mobilenet(input_shape,classes,is_training=True,width_multiplier=1,use_bias=True):

    inputs = tf.random_normal(shape=input_shape)

    with tf.variable_scope('Mobilenet'):
        net = slim.conv2d(inputs,num_outputs=32,kernel_size=[3,3],stride=2,padding='SAME',scope='conv_1/conv2d')

    return net

if __name__ == "__main__":

    inputs_shape = [4, 224, 224, 3]
    classes = 1000

    writer = tf.summary.FileWriter("./logs1",graph=tf.get_default_graph())

    init = tf.global_variables_initializer()
    predictions = Mobilenet(inputs_shape,classes)

    # print(predictions.shape)
    with tf.Session() as sess:
        sess.run(init)
       # predictions = Mobilenet(inputs_shape, classes)

        pred = sess.run(predictions)
        print(pred.shape)

报错

tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value Mobilenet/conv_1/conv2d/biases
	 [[node Mobilenet/conv_1/conv2d/biases/read (defined at /Users/xiangshang/Desktop/usable/my/classification/model_tf/mobilenet_1.py:9) ]]
import tensorflow.contrib.slim as slim
import tensorflow as tf

def Mobilenet(input_shape,classes,is_training=True,width_multiplier=1,use_bias=True):

    inputs = tf.random_normal(shape=input_shape)

    with tf.variable_scope('Mobilenet'):
        net = slim.conv2d(inputs,num_outputs=32,kernel_size=[3,3],stride=2,padding='SAME',scope='conv_1/conv2d')

    return net

if __name__ == "__main__":

    inputs_shape = [4, 224, 224, 3]
    classes = 1000

    writer = tf.summary.FileWriter("./logs1",graph=tf.get_default_graph())

    #init = tf.global_variables_initializer()
    predictions = Mobilenet(inputs_shape,classes)
    print(predictions.shape)

输出(4, 112, 112, 32)

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值