以下代码在tensorflow r1.12 python API中生成警告:
#!/usr/bin/python3
import tensorflow as tf
M = tf.keras.models.Sequential();
M.add(tf.keras.layers.Dense(2));
完整的警告文本是这样的:
WARNING: Logging before flag parsing goes to stderr.
W0213 15:50:07.239809 140701996246848 deprecation.py:506] From /home/matias/anaconda3/lib/python3.6/site-packages/tensorflow/python/ops/init_ops.py:1253: calling VarianceScaling.__init__ (from tensorflow.python.ops.init_ops) with dtype is deprecated and will be removed in a future version.
Instructions for updating:
Call initializer instance with the dtype argument instead of passing it to the constructor
我尝试了不同的方法,例如在添加Dense层并将其传递给Dense构造函数之前初始化和调用内核初始化程序,但似乎并没有改变任何东西。这是不可避免的警告吗?对我来说,回答“是”就足够了。
答案 0 :(得分:0)
您正在运行张量流2.0,它看起来像VarianceScaling。不建议使用 init 。这可能意味着将来需要对Sequential进行更明确的初始化。 例如:
model = tf.keras.Sequential([
# Adds a densely-connected layer with 64 units to the model:
layers.Dense(64, activation='relu', input_shape=(32,)),
# Add another:
layers.Dense(64, activation='relu'),
# Add a softmax layer with 10 output units:
layers.Dense(10, activation='softmax')])
答案 1 :(得分:0)
这只是基于changes in Tensorflow 2.0的警告。
如果您不想看到这些警告,请升级到TensorFlow 2.0。您可以通过pip安装测试版:
pip install tensorflow==2.0.0-beta1
答案 2 :(得分:0)
警告可能是由abseil-py
(依赖tensorflow
)引起的。
请参阅详细信息here。
一个简单的解决方法可能是通过运行以下命令来更新abseil-py
:
pip install --upgrade absl-py
(在我的情况下,冲突版本为0.7.1
,问题已在更新版本0.8.1
中得以解决)