美文网首页
Tensorflow神经网络搭建模板

Tensorflow神经网络搭建模板

作者: Chemizi | 来源:发表于2018-05-02 11:09 被阅读0次

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神经网络搭建模板

      本文链接:https://www.haomeiwen.com/subject/ggwqrftx.html