tensorflow 入门例子example(加预测)
发布日期:2021-05-10 00:15:09 浏览次数:24 分类:精选文章

本文共 5347 字,大约阅读时间需要 17 分钟。

���������������������������������������������������������������������TensorFlow���������������������������������������������������������������������������������������������������������������������������������

������������

���������������������������������������������������������������������������������������������TensorFlow������������������������������

������������������������������������������������������������������������������������������������������������������������������������������������

import.tensorflow as tf
import numpy as np
# ������������������������������������������
np.random.seed(42)
# ������������������������������������������1������������0.1������������������100
x_vals = np.random.normal(1, 0.1, 100)
# ������������������������������������������10.0
y_vals = np.repeat(10.0, 100)
# ���������������������������
x_data = tf.placeholder(shape=[None, 1], dtype=tf.float32)
y_target = tf.placeholder(shape=[None, 1], dtype=tf.float32)
# ������������������������������������������������
A = tf.Variable(tf.random_normal([1, 1]))
# ���������������������������������������������������
loss = tf.reduce_mean(tf.square(A * x_data - y_target))
# ���������������������������������0.02
optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.02)
training_step = optimizer.minimize(loss)
# ���������������
sess = tf.Session()
sess.run(tf.global_variables_initializer())
# ���������������������������15���������������������
for i in range(100):
# ������������������������
batch_size = 25
idx = np.random.choice(len(x_vals), batch_size)
x_val = x_vals[idx]
y_val = y_vals[idx]
# ������������������
if i % 25 == 0:
print(f'step: {i}, A = {sess.run(A)}')
print(f'loss: {sess.run(loss, feed_dict={x_data: x_val, y_target: y_val})}')
# ������������������
sess.run(training_step, feed_dict={x_data: x_val, y_target: y_val})
# ������������������������������������������MSE
test_indices = np.random.choice(len(x_vals), 20, replace=False)
x_test = x_vals[test_indices]
y_test = y_vals[test_indices]
mse_test = sess.run(loss, feed_dict={x_data: x_test, y_target: y_test})
print(f'Test MSE: {mse_test:.2f}')

������������

������������������������������������������������������������������������������������������������������������������������

from sklearn import datasets
import numpy as np
import tensorflow as tf
# ���������������������������
iris = datasets.load_iris()
print(f'Feature names: {iris.feature_names}')
print(f'Target names: {iris.target_names}')
print(f'Data length: {len(iris.data)}')
print(f'Target length: {len(iris.target)}')
# ������������������0���1���������
temp = [1 if x == 0 else 0 for x in iris.target]
iris_target = np.array(temp)
# ���������������������������������������������������������������������
iris_2d = np.array([[x[2], x[3]] for x in iris.data])
# ������������������������������������������������
batch_size = 20
train_indices = np.random.choice(len(iris_2d), size=len(iris_2d) * 0.8)
test_indices = np.array(list(set(range(len(iris_2d))) - set(train_indices)))
x_vals_train = iris_2d[train_indices]
y_vals_train = iris_target[train_indices]
x_vals_test = iris_2d[test_indices]
y_vals_test = iris_target[test_indices]
# ���������������
x1_data = tf.placeholder(shape=[None, 1], dtype=tf.float32)
x2_data = tf.placeholder(shape=[None, 1], dtype=tf.float32)
y_target = tf.placeholder(shape=[None, 1], dtype=tf.float32)
# ������������������
A = tf.Variable(tf.random_normal(shape=[1, 1]))
b = tf.Variable(tf.random_normal(shape=[1, 1]))
my_output = A * x1_data - (x2_data * b + b)
# ���������������������
xentropy = tf.nn.sigmoid_cross_entropy_with_logits(
labels=my_output,
logits=y_target
)
# ������������������������������
optimizer = tf.train.GradientDescentOptimizer(0.05)
training_step = optimizer.minimize(xentropy)
# ���������������������
sess = tf.Session()
sess.run(tf.global_variables_initializer())
# ������������
for i in range(1000):
# ������������������������
idx = np.random.choice(len(x_vals_train), size=batch_size)
x_val = x_vals_train[idx]
y_val = y_vals_train[idx]
if (i + 1) % 200 == 0:
print(f'step: {i}, A = {sess.run(A)}, b = {sess.run(b)}')
sess.run(training_step, feed_dict={x1_data: x_val[:, 0], x2_data: x_val[:, 1], y_target: y_val})
# ������������������
y_prediction = tf.squeeze(tf.round(tf.nn.sigmoid(my_output)))
correct_prediction = tf.equal(y_prediction, y_target)
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
# ���������������������������������
acc_value_test = sess.run(accuracy, feed_dict={x1_data: x_vals_test[:, 0], x2_data: x_vals_test[:, 1], y_target: y_vals_test})
# ���������������������������������
acc_value_train = sess.run(accuracy, feed_dict={x1_data: x_vals_train[:, 0], x2_data: x_vals_train[:, 1], y_target: y_vals_train})
print(f'Test Accuracy: {acc_value_test:.3f}')
print(f'Train Accuracy: {acc_value_train:.3f}')

������

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

上一篇:卷积神经网络CNN知识汇总
下一篇:tensorflow example 入门例子(线型回归与逻辑回归)

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2025年04月15日 19时00分00秒