当我定义一个函数来执行神经网络训练时,我得到一个错误。但是,当我这样做而不使它起作用时,就没有错误。为什么?def myneural(): import numpy as np import keras from keras import backend as K from keras.layers import Input, Dense, Activation from keras.models import Model, Sequential x_train_s = np.random.randint(5, size=(20, 2)) x_test_s = x_train_s model = Sequential([ Dense(10, input_shape=(2,)), Activation('linear'), Dense(2), Activation('linear') ]) model.compile(optimizer='adam', loss='mean_squared_error') fittingadam = model.fit(x_train_s, x_train_s, epochs=2, validation_data=(x_test_s, x_test_s), shuffle=True, verbose=1, batch_size=None) encoder = K.function([model.layers[0].input], [model.layers[1].output]) code = encoder([x_test_s])[0]myneural()我得到的错误是:Using TensorFlow backend.WARNING:tensorflow:From C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\framework\op_def_library.py:263: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.Instructions for updating:Colocations handled automatically by placer.WARNING:tensorflow:From C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\ops\math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.Instructions for updating:Use tf.cast instead.Train on 20 samples, validate on 20 samplesEpoch 1/22019-10-03 14:34:50.275279: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX220/20 [==============================] - 0s 7ms/step - loss: 4.0432 - val_loss: 3.9670Epoch 2/2但是,当我删除第一行和最后一行并从其他行中删除缩进时,不会有错误。第一个问题:为什么会这样?我怎样才能解决它以运行它而没有任何问题作为函数?第二个问题:警告呢?它们重要吗?我怎样才能摆脱它们?
1 回答
一只斗牛犬
TA贡献1784条经验 获得超2个赞
你应该更新你的张量流。如果您已经使用最新版本(我对此表示怀疑),或者您受其他软件包的约束,请忽略此异常。这是一个被抑制的异常,在解释器清理期间抛出。您可以“控制”是否引发异常的事实是巧合。
这些是为直接使用 tensorflow 的人准备的,所以在你的情况下是 keras。这不好,但你不能对它们做任何事情,除了检查他们的错误报告者是否已经列出了这些警告。
所以一般来说:只要它做你想要exit code 0
的并且最终拥有,忽略所有警告和异常。
添加回答
举报
0/150
提交
取消