Tensorflow神经网络搭建模板

import tensorflow as tf
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
import numpy as np
#生成数据集(X,Y)
BATCH_SIZE=16
seed=23455
rng=np.random.RandomState(seed)
X=rng.rand(32,2)#32个样本数,每个样本有两个特征(输入值)
Y=[[int(x0+x1<1)] for (x0,x1)in X]#人工设计的样本输出值
print(X,"\n",Y)
#构建NN网络
x=tf.placeholder(tf.float32,shape=(None,2))#占位符,未知样本数大小,两个特征
y=tf.placeholder(tf.float32,shape=(None,1))#占位符,未知样本数大小,一个特征
w1=tf.Variable(tf.random_normal([2,3],stddev=1,seed=1))#隐藏层,三元
w2=tf.Variable(tf.random_normal([3,1],stddev=1,seed=1))#输出层,一元
a=tf.matmul(x,w1)
y_=tf.matmul(a,w2)
#构架loss
loss=tf.reduce_mean(tf.square(y-y_))#均方差
train_step=tf.train.GradientDescentOptimizer(0.001).minimize(loss)#GD算法优化
#传入数据,减小loss
with tf.Session() as sess:
init_op=tf.global_variables_initializer()
sess.run(init_op)#初始化变量
STEPS=3000#迭代
for i in range(STEPS):
START=(i*BATCH_SIZE)%32#分段喂入神经网络
END=START+BATCH_SIZE
sess.run(train_step,feed_dict={x:X[START:END],y:Y[START:END]})
if i%500==0 :
print(sess.run(loss,feed_dict={x:X,y:Y}))


【Tensorflow神经网络搭建模板】

Tensorflow神经网络搭建模板
文章图片

    推荐阅读