- 导入包:
import tensorflow as tf
import numpy as np
#定义输入与目标值
X = np.array([[0, 0], [0, 1], [1, 0], [1, 1]])
Y = np.array([[0], [1], [1], [0]])
- 设置tensorflow神经网络(包含一层隐藏网络)
#定义占位符,从输入或目标中按行取数据
x = tf.placeholder(tf.float32, [None, 2])
y = tf.placeholder(tf.float32, [None, 1])
#初始化权重,使权重满足正态分布
#w1是输入层到隐含层间的权重矩阵,w2是隐含层到输出层的权重
w1 = tf.Variable(tf.random_normal([2,2]))
w2 = tf.Variable(tf.random_normal([2,1]))
#定义偏移量,b1为隐含层上偏移量,b2是输出层上偏移量。
b1=tf.Variable([0.1,0.1])
b2=tf.Variable(0.1)
#利用激活函数就隐含层的输出值
h=tf.nn.relu(tf.matmul(x,w1)+b1)
#计算输出层的值
out=tf.matmul(h,w2)+b2
- 损失函数定义,学习率,优化算法选用
#定义损失函数或代价函数
loss = tf.reduce_mean(tf.square(out - y))
#利用Adam自适应优化算法,学习率0.1
train = tf.train.AdamOptimizer(0.1).minimize(loss)
- 运行调参
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())