zoukankan      html  css  js  c++  java
  • TensorFlow基础7——完整神经网络栗子

     完整神经网络栗子:
    数据加入噪音,更具真实性

     1 import tensorflow as tf 
     2 import numpy as np 
     3 
     4 def add_layer(input,in_size,out_size,activation_function=None):
     5     Weights = tf.Variable(tf.random_normal([in_size,out_size]))
     6     biases = tf.Variable(tf.zeros([1,out_size])+0.1)
     7     Wx_plus_b = tf.matmul(input,Weights) + biases
     8     if activation_function is None:
     9         outputs = Wx_plus_b
    10     else:
    11         outputs = activation_function(Wx_plus_b)
    12     return outputs
    13 
    14 x_data = np.linspace(-1,1,300)[:,np.newaxis]
    15 noise = np.random.normal(0,0.05,x_data.shape)#噪音
    16 y_data = np.square(x_data)-0.5+noise
    17 
    18 xs = tf.placeholder(tf.float32,[None,1])
    19 ys = tf.placeholder(tf.float32,[None,1])
    20 
    21 l1 = add_layer(xs,1,10,activation_function=tf.nn.relu)
    22 predition = add_layer(l1,10,1,activation_function=None)
    23 
    24 loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys-predition),reduction_indices=[1]))
    25 train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)
    26 
    27 init = tf.initialize_all_variables()
    28 sess = tf.Session()
    29 sess.run(init)
    30 for i in range(1001):
    31     sess.run(train_step,feed_dict={xs:x_data,ys:y_data})
    32     if i % 50 == 0:
    33         print(sess.run(loss,feed_dict={xs:x_data,ys:y_data}))

     结果:

      损失函数越小,说明拟合越好(有可能过拟合)

  • 相关阅读:
    3个常用基于Linux系统命令行WEB网站浏览工具(w3m/Links/Lynx)
    Linux进程关系
    Linux信号基础
    Linux进程基础
    Linux架构
    Linux文本流
    Linux文件管理相关命令
    Linux命令行与命令
    【转载】 input 输入格式化
    【所见即所得】textarea 精确限制字数、行数,中、英、全半角混检 。源码带注释
  • 原文地址:https://www.cnblogs.com/renzhong/p/7344694.html
Copyright © 2011-2022 走看看