我一直在研究一个简单的张量流线性回归模型,该模型使用有关不同深度温度的数据对其进行训练。这是工作代码。
mine_dataframe = pd.read_csv("/home/sskottha/iron_temp_data.csv", sep=",")
mine_dataframe = mine_dataframe.reindex(np.random.permutation(mine_dataframe.index))
print(mine_dataframe.describe())
my_feature = mine_dataframe[["Depth"]]
feature_columns = [tf.feature_column.numeric_column('Depth')]
targets = mine_dataframe["Temperature"]
my_optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.000001)
my_optimizer = tf.contrib.estimator.clip_gradients_by_norm(my_optimizer, 5.0)
linear_regressor = tf.estimator.LinearRegressor(feature_columns=feature_columns, optimizer=my_optimizer)
def my_input_fn(features, targets, batch_size=1, shuffle=True, num_epochs=None):
features = {key:np.array(value) for key,value in dict(features).items()}
ds = Dataset.from_tensor_slices((features,targets))
ds = ds.batch(batch_size).repeat(num_epochs)
if shuffle:
ds = ds.shuffle(buffer_size=100)
features, labels = ds.make_one_shot_iterator().get_next()
return features, labels
_ = linear_regressor.train(input_fn = lambda:my_input_fn(my_feature, targets), steps=50000)
prediction_input_fn = lambda: my_input_fn(my_feature, targets, num_epochs=1, shuffle=False)
predictions = linear_regressor.predict(input_fn=prediction_input_fn)
predictions = np.array([item['predictions'][0] for item in predictions])
此代码有效,我也可以绘制图形。我现在仍然想要实现的是输入一个深度值作为输入,将其输入模型并检索预测的温度值。我不确定如何实现。我在Google上搜索了一下,但没有找到任何有效的方法。