每当我使用张力板时,就会出现这些错误

2024-09-30 22:12:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我是神经网络的新手,我正在尝试创建一个图像分类器。每当我使用tensorboard并在model.fit中的回调中调用它时,就会出现这些错误。如果我拆下张力板,程序就会工作

我已经尝试过使用这些在线代码初始化变量,但是仍然产生错误

uninitialized_vars = []
for var in tf.all_variables():
    try:
        sess.run(var)
    except tf.errors.FailedPreconditionError:
        uninitialized_vars.append(var)

init_new_vars_op = tf.initialize_variables(uninitialized_vars)

这是我的实际代码

    def trainModel(self):

        X_train,y_train = self.getTrainingData()
        X_test,y_test = self.getTestingData()


        run_opts = tf.RunOptions(report_tensor_allocations_upon_oom = True)
        tensorboard = TensorBoard(log_dir="logs/{}".format(time()))

        self.model.compile(loss=keras.losses.categorical_crossentropy,
              optimizer='sgd',
              metrics=['accuracy'], options = run_opts)

        self.model.fit(
            X_train, 
            y_train, 
            batch_size=1, 
            validation_data=(X_test, y_test), 
            epochs=5, callbacks=[tensorboard])
        self.model.summary()
        score = self.model.evaluate(X_test, y_test, verbose=0)
        print('Test loss:', score[0])
        print('Test accuracy:', score[1])

这些错误发生在运行程序之后

Traceback (most recent call last):
  File "/home/jcooo/.local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1350, in _do_call
    return fn(*args)
  File "/home/jcooo/.local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1329, in _run_fn
    status, run_metadata)
  File "/home/jcooo/.local/lib/python3.5/site-packages/tensorflow/python/framework/errors_impl.py", line 473, in __exit__
    c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value conv2d_1/bias
     [[Node: conv2d_1/bias/read = Identity[T=DT_FLOAT, _class=["loc:@conv2d_1/bias"], _device="/job:localhost/replica:0/task:0/device:CPU:0"](conv2d_1/bias)]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "network.py", line 186, in <module>
    main()
  File "network.py", line 182, in main
    network = SteganalysisModel()
  File "network.py", line 46, in __init__
    self.trainModel()
  File "network.py", line 92, in trainModel
    epochs=5, callbacks=[tensorboard])
  File "/usr/local/lib/python3.5/dist-packages/keras/engine/training.py", line 1039, in fit
    validation_steps=validation_steps)
  File "/usr/local/lib/python3.5/dist-packages/keras/engine/training_arrays.py", line 199, in fit_loop
    outs = f(ins_batch)
  File "/usr/local/lib/python3.5/dist-packages/keras/backend/tensorflow_backend.py", line 2721, in __call__
    return self._legacy_call(inputs)
  File "/usr/local/lib/python3.5/dist-packages/keras/backend/tensorflow_backend.py", line 2693, in _legacy_call
    **self.session_kwargs)
  File "/home/jcooo/.local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 895, in run
    run_metadata_ptr)
  File "/home/jcooo/.local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1128, in _run
    feed_dict_tensor, options, run_metadata)
  File "/home/jcooo/.local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1344, in _do_run
    options, run_metadata)
  File "/home/jcooo/.local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1363, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value conv2d_1/bias
     [[Node: conv2d_1/bias/read = Identity[T=DT_FLOAT, _class=["loc:@conv2d_1/bias"], _device="/job:localhost/replica:0/task:0/device:CPU:0"](conv2d_1/bias)]]

Caused by op 'conv2d_1/bias/read', defined at:
  File "network.py", line 186, in <module>
    main()
  File "network.py", line 182, in main
    network = SteganalysisModel()
  File "network.py", line 45, in __init__
    self.createModel()
  File "network.py", line 58, in createModel
    self.model.add(Conv2D(3,(3,3), input_shape=(self.IMAGE_SIZE,self.IMAGE_SIZE,3)))
  File "/usr/local/lib/python3.5/dist-packages/keras/engine/sequential.py", line 165, in add
    layer(x)
  File "/usr/local/lib/python3.5/dist-packages/keras/engine/base_layer.py", line 431, in __call__
    self.build(unpack_singleton(input_shapes))
  File "/usr/local/lib/python3.5/dist-packages/keras/layers/convolutional.py", line 147, in build
    constraint=self.bias_constraint)
  File "/usr/local/lib/python3.5/dist-packages/keras/legacy/interfaces.py", line 91, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/keras/engine/base_layer.py", line 252, in add_weight
    constraint=constraint)
  File "/usr/local/lib/python3.5/dist-packages/keras/backend/tensorflow_backend.py", line 402, in variable
    v = tf.Variable(value, dtype=tf.as_dtype(dtype), name=name)
  File "/home/jcooo/.local/lib/python3.5/site-packages/tensorflow/python/ops/variables.py", line 229, in __init__
    constraint=constraint)
  File "/home/jcooo/.local/lib/python3.5/site-packages/tensorflow/python/ops/variables.py", line 376, in _init_from_args
    self._snapshot = array_ops.identity(self._variable, name="read")
  File "/home/jcooo/.local/lib/python3.5/site-packages/tensorflow/python/ops/array_ops.py", line 127, in identity
    return gen_array_ops.identity(input, name=name)
  File "/home/jcooo/.local/lib/python3.5/site-packages/tensorflow/python/ops/gen_array_ops.py", line 2134, in identity
    "Identity", input=input, name=name)
  File "/home/jcooo/.local/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper
    op_def=op_def)
  File "/home/jcooo/.local/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 3160, in create_op
    op_def=op_def)
  File "/home/jcooo/.local/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 1625, in __init__
    self._traceback = self._graph._extract_stack()  # pylint: disable=protected-access

FailedPreconditionError (see above for traceback): Attempting to use uninitialized value conv2d_1/bias
     [[Node: conv2d_1/bias/read = Identity[T=DT_FLOAT, _class=["loc:@conv2d_1/bias"], _device="/job:localhost/replica:0/task:0/device:CPU:0"](conv2d_1/bias)]]

我正在使用python3.5.2、tensorflow1.5.0和ubuntu16.04 整个代码都在here


Tags: runinpyselfhomelibpackageslocal