Python 警告:tensorflow:create_partitioned_变量已弃用
我收到这个Python 警告:tensorflow:create_partitioned_变量已弃用,python,tensorflow,Python,Tensorflow,我收到这个警告 警告:tensorflow:create_partitioned_变量已弃用。将tf.get_变量与分区器集或tf.get_partitioned_variable_列表一起使用 我没有使用函数create\u partitioned\u variables 我使用的是tensorflow.\uuuuu版本\uuuuu0.9.0 解决此警告 如果将tensorflow与pandas/numpy一起安装,则应该能够复制并粘贴此代码 安装程序 当我运行时出现警告: model_dir
警告
警告:tensorflow:create_partitioned_变量已弃用。将tf.get_变量与分区器集或tf.get_partitioned_variable_列表一起使用
我没有使用函数create\u partitioned\u variables
我使用的是tensorflow.\uuuuu版本\uuuuu0.9.0
解决此警告
如果将tensorflow与pandas/numpy一起安装,则应该能够复制并粘贴此代码
安装程序
当我运行时出现警告
:
model_dir = tempfile.mkdtemp()
m = tf.contrib.learn.LinearClassifier(feature_columns=wide_columns, model_dir=model_dir)
m.fit(input_fn=train_input_fn, steps=200)
results = m.evaluate(input_fn=eval_input_fn, steps=1)
for key in sorted(results):
print("%s: %s" % (key, results[key]))
如果我改为运行此命令:
model_dir = tempfile.mkdtemp()
m = tf.contrib.learn.LinearClassifier(feature_columns=wide_columns[:-1], model_dir=model_dir)
# removing last feature columns which is categorical using [:-1] ^^^^^
m.fit(input_fn=train_input_fn, steps=200)
results = m.evaluate(input_fn=eval_input_fn, steps=1)
for key in sorted(results):
print("%s: %s" % (key, results[key]))
我没有错误
accuracy: 0.45
eval_auc: 0.459596
loss: 0.771354
结论
我把范围缩小到使用使用
创建的分类功能。带关键字的稀疏列但是我应该怎么做?基本上带关键字的稀疏列使用创建分区变量()
进行初始化,但是在创建分区变量()
类中,他们抛出了一个警告,基本上是说create\u partitioned\u variables()
不再是创建分区变量的公认方式。相反,您可以使用get\u variable()
函数
如果您转到tensorflow/contrib/layers/python/layers
,并打开_feature\u column.py\u,您会发现带_键的sparse\u column\u的嵌入使用创建分区变量()。要解决此问题,请导入get\u variable函数(从tensorflow.python.ops.variable\u scope import get\u variable导入),然后使用get\u variable()而不是create\u partitioned\u variables()来定义变量embeddings
(最初应使用create\u partitioned\u variables()
)
。不过,我认为警告并不重要。我不使用.sparse\u column\u和\u键
,但我使用.sparse\u column\u和\u hash\u bucket
得到同样的警告。
accuracy: 0.45
eval_auc: 0.459596
loss: 0.771354