tensorflow建造神经网络

论坛 期权论坛 脚本     
匿名技术用户   2020-12-22 15:17   18   0
#!/usr/bin/env python
# _*_ coding: utf-8 _*_
# @Time     : 2018/6/2 9:55
# @Author   : zand
# @File     : tensorflow建造神经网络 
import tensorflow as tf
import numpy as np

def add_layer(imputs, in_size, out_size, activation_function = None):
 Weights = tf.Variable(tf.random_normal([in_size, out_size]))
 biases = tf.Variable(tf.zeros([1,out_size]) + 0.1)
 Wx_plus_b = tf.matmul(imputs,Weights) + biases

 if activation_function is None:
  outputs = Wx_plus_b
 else:
  outputs = activation_function(Wx_plus_b)
 return outputs

x_data = np.float32(np.linspace(-1,1,300)[:,np.newaxis])  #构造输入数据x_data,-1到1区间,300个单位。np.newaxis新建一个维度。
noise = np.float32(np.random.normal(0,0.05,x_data.shape))  #构造噪声,使得不完全按照一元二次函数构造
y_data = np.square(x_data)-0.5 + noise

l1 = add_layer(x_data,1,10,activation_function=tf.nn.relu) #添加神经层,设置10个神经元,激活函数设置为tf.nn.relu。
prediction = add_layer(l1,10,1,activation_function=None)  #添加神经层,激活函数设置为线性函数。

loss = tf.reduce_mean(tf.reduce_sum(tf.square(y_data - prediction),reduction_indices=[1]))
train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)

init = tf.initialize_all_variables()
sess = tf.Session()
sess.run(init)

for _ in range(1000):
 sess.run(train_step)
 if _ % 50 == 0:
  print(sess.run(loss))






分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP