estimator를 사용하여 tensorflow 입문 프로그램을 다시 쓰기
5085 단어 AI
import numpy as np
import tensorflow as tf
# x
feature_columns = [tf.feature_column.numeric_column("x")]
#
estimator = tf.estimator.LinearRegressor(feature_columns=feature_columns)
#
x_train = np.array([1., 2., 3., 4.])
y_train = np.array([0., -1., -2., -3.])
train_input_fn = tf.estimator.inputs.numpy_input_fn({"x": x_train}, y_train, batch_size=1, num_epochs=None,
shuffle=False)
#
estimator.train(input_fn=train_input_fn, steps=3000)
#
print("---train result ---")
for var in estimator.get_variable_names():
print(var + " =>%r" % estimator.get_variable_value(var))
print()
# x=[4] y
samples = np.array([4])
predict_input_fn = tf.estimator.inputs.numpy_input_fn({"x": samples}, batch_size=1, num_epochs=1, shuffle=False)
predict_result = list(estimator.predict(predict_input_fn))
print("predict_result =>%r" % predict_result)
# x=[4], y=[-3.1]
x_eval = np.array([4])
y_eval = np.array([-3.1])
eval_input_fn = tf.estimator.inputs.numpy_input_fn({"x": x_eval}, y_eval, batch_size=1, num_epochs=1, shuffle=False)
eval_result = estimator.evaluate(eval_input_fn)
print("eval_result =>%r" % eval_result)
실행 결과는 다음과 같습니다.
---train result ---
['global_step', 'linear/linear_model/bias_weights', 'linear/linear_model/bias_weights/part_0/Ftrl', 'linear/linear_model/bias_weights/part_0/Ftrl_1', 'linear/linear_model/x/weights', 'linear/linear_model/x/weights/part_0/Ftrl', 'linear/linear_model/x/weights/part_0/Ftrl_1']
global_step =>3000
linear/linear_model/bias_weights =>array([ 0.99999285], dtype=float32)
linear/linear_model/bias_weights/part_0/Ftrl =>array([ 131.23556519], dtype=float32)
linear/linear_model/bias_weights/part_0/Ftrl_1 =>array([-57.27864075], dtype=float32)
linear/linear_model/x/weights =>array([[-0.99999756]], dtype=float32)
linear/linear_model/x/weights/part_0/Ftrl =>array([[ 685.30853271]], dtype=float32)
linear/linear_model/x/weights/part_0/Ftrl_1 =>array([[ 130.8916626]], dtype=float32)
predict_result =>[{'predictions': array([-2.99999738], dtype=float32)}]
eval_result =>{'average_loss': 0.010000505, 'loss': 0.010000505, 'global_step': 3000}
변수 이름에 따라 W="linear/linear 를 알 수 있습니다.model/weights’ = -0.99999756,b=linear/linear_model/bias_weights=0.9999285로 입문편 결과와 거의 일치합니다.
estimator는 훈련 외에 예측 함수와 평가 함수를 제공합니다:estimator.predict: x를 주고 y값estimator를 계산합니다.evaluate: x와 y를 주고 차치 크기를 계산합니다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
내일배움캠프 AI - 2일차 TIL, 2022.04.191. 아직은 어색한 사이 아직 팀원들과는 어색한 기류가 역력하다. '아 스터디카페 갈걸 그랬나..' 생각을 진짜 많이 했다. 그런데 오히려 내가 잘 몰랐던 내용이 많았다. 그리고 웹프로그래밍 기초 강의 2, 3주차를...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.