#python-3.x #tensorflow
#python-3.x #tensorflow
Вопрос:
У меня есть следующий код tensorflow 1.0:
import tensorflow as tf
feature_cols = tf.contrib.learn.infer_real_valued_columns_from_input(X_train)
dnn_clf = tf.contrib.learn.DNNClassifier(hidden_units=[300,100], n_classes=10,
feature_columns=feature_cols)
dnn_clf = tf.contrib.learn.SKCompat(dnn_clf) # if TensorFlow >= 1.1
dnn_clf.fit(X_train, y_train, batch_size=50, steps=40000)
Когда я пытаюсь запустить конвертер:
tf_upgrade_v2 --infile mlp.py --outfile mlp2.py
Я получаю следующую ошибку:
--------------------------------------------------------------------------------
File: mlp.py
--------------------------------------------------------------------------------
mlp.py:3:15: ERROR: Using member tf.contrib.learn.infer_real_valued_columns_from_input in
deprecated module tf.contrib. tf.contrib.learn.infer_real_valued_columns_from_input cannot be converted automatically. tf.contrib will not be distributed with TensorFlow 2.0, please
consider an alternative in non-contrib TensorFlow, a community-maintained repository such as
tensorflow/addons, or fork the required code.
mlp.py:4:10: ERROR: Using member tf.contrib.learn.DNNClassifier in deprecated module tf.contrib. tf.contrib.learn.DNNClassifier cannot be converted automatically. tf.contrib will not be distributed with TensorFlow 2.0, please consider an alternative in non-contrib TensorFlow, a community-maintained repository such as tensorflow/addons, or fork the required code.
mlp.py:6:10: ERROR: Using member tf.contrib.learn.SKCompat in deprecated module tf.contrib. tf.contrib.learn.SKCompat cannot be converted automatically. tf.contrib will not be distributed with TensorFlow 2.0, please consider an alternative in non-contrib TensorFlow, a community-maintained repository such as tensorflow/addons, or fork the required code.
Мой вопрос: как преобразовать этот код tensorflow 1.0 в tensorflow 2.0 при сбое сценария обновления?
Ответ №1:
Некоторые библиотеки Tensorflow 1.x перемещаются Tensorflow/addons
, и некоторые из них заменяются Tensorflow.Estimator
в Tensorflow 2.x. tf_upgrade_v2
скрипт не будет полностью обновлять код с Tfv1.x до Tfv2.x. Этот скрипт ускорит процесс обновления, преобразовав существующие скрипты TensorFlow 1.x на Python в TensorFlow 2.0.
В этом случае tf.contrib.learn
заменяется на Estimator .
Совместимый с TF2.x код: заменить
tf.contrib.learn.DNNLinearCombinedRegressor
с помощью
tf.estimator.DNNLinearCombinedRegressor
Взгляните на эту ссылку для получения дополнительной информации