Я получаю следующую ошибку при попытке преобразовать модель с сохраненным питоном тензорного потока
tensorflowjs_converter --input_format=tf_saved_model --output_format=tfjs_graph_model ./saved_1 ./exported_model
Traceback (последний вызов был последним):
File "/ Users / a / workspace/ pen3 / myenv / bin / tenorflowjs_converter ", строка 10, в sys.exit (main ())
Файл" /Users/a/workspace/pen3/myenv/lib/python3.5/site-packages/tensorflowjs/converters/converter.py ", строка 358, в основном strip_debug_ops = FLAGS.strip_debug_ops)
Файл" /Users/a/workspace/pen3//myenv/lib/python3.5/site-packages/tensorflowjs/converters/tf_saved_model_conversion_v2.py ", строка 268, в модели convert_tf_saved_model = load (сохраненный_model_dir, save_model_tags)
TypeError: load () принимает 1 позиционный аргумент, но 2 получили
* 1013содержимое каталога сохраненных_1
- сохраненных_моделей.pb
- переменных
- variables.data-00000-of-00001
- variables.index
TensorFlow.js версия: 1.13.1
тензор потокаверсия конвертера: 1.0.1
виртуальная среда с версией Python: 3.5.5
код в python для сохранения данных модели.простая линейная регрессия в тензорном потоке
import tensorflow as tf
import numpy as np
import os
import shutil
from sklearn.datasets import fetch_california_housing
from sklearn.preprocessing import StandardScaler
n_epochs = 11
learning_rate = 0.01
saved_models = 'saved_models'
if os.path.exists(saved_models):
shutil.rmtree(saved_models)
os.makedirs(saved_models)
housing = fetch_california_housing()
(m,n) = housing.data.shape
scaler = StandardScaler()
scaled_housing_data = scaler.fit_transform(housing.data)
scaled_housing_data_plus_bias = np.c_[np.ones((m, 1)), scaled_housing_data]
X = tf.constant( scaled_housing_data_plus_bias, dtype=tf.float32 , name='X')
Y = tf.constant( housing.target.reshape(-1, 1) , dtype=tf.float32, name='Y')
theta = tf.Variable(tf.random_uniform( [n+1, 1] , -1.0, 1.0))
y_pred = tf.matmul( X, theta, name='predictions')
error = y_pred - Y
mse = tf.reduce_mean(tf.square(error), name="mse")
gradients = 2/m * tf.matmul(tf.transpose(X), error)
training_op = tf.assign(theta, theta - learning_rate * gradients)
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
for epoch in range(n_epochs):
if epoch % 5 == 0:
print("Epoch", epoch, "MSE =", mse.eval())
tf.saved_model.simple_save(sess, saved_models + '/model_' + str(epoch) , inputs={'myInput' :X }, outputs={'myOutput' : y_pred })
sess.run(training_op)
best_theta = theta.eval()
print(best_theta)