我正在使用Keras创建深度学习模型。创建VGG16模型时,会创建模型,但会收到以下警告。
vgg16_model = VGG16()
为什么会出现此警告,我该如何解决?
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-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.
答案 0 :(得分:3)
在keras代码中似乎有一个开放的git问题可以解决此问题:
https://github.com/tensorflow/minigo/issues/740
您应该放心忽略该警告,我相信您可以在不修改TF存储库的情况下进行更改。您可以将警告设为mentioned here:
tf.logging.set_verbosity(tf.logging.ERROR)
答案 1 :(得分:0)
您可以使用下面的功能来避免这些警告。首先,您必须进行适当的导入:
import os
os.environ['KERAS_BACKEND']='tensorflow'
import tensorflow as tf
def tf_no_warning():
"""
Make Tensorflow less verbose
"""
try:
tf.logging.set_verbosity(tf.logging.ERROR)
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
except ImportError:
pass
然后在代码开头调用上面的函数。
tf_no_warning()
答案 2 :(得分:-1)
因此,方法colocate_with
是一个上下文管理器,用于确保将要创建的操作或张量放置在引用操作所在的同一设备上。但是,您的警告说它将被弃用,并且从现在开始将自动处理它。从下一个版本的tensorflow中,此方法将被删除,因此您将必须立即更新代码(当前将运行)或更高版本(当将tensorflow的版本更新为下一个版本时,此代码将不再可运行)因为该方法将被删除)