• TensorFlow实现一个简单线性回归的例子


     1 __author__ = "WSX"
     2 import tensorflow as tf
     3 import numpy as np
     4 import matplotlib.pyplot as plt
     5 
     6 x_data = np.linspace(-0.5,0.5,200)[: , np.newaxis] #-0.5 --0.5 之间产生200个点 存到后面的2维中
     7 noise = np.random.normal(0 ,0.02 ,x_data.shape)
     8 y_data = np.square(x_data) +noise
     9 
    10 x= tf.placeholder(tf.float32 ,[None ,1]) #不确定行 和 1列
    11 y= tf.placeholder(tf.float32 ,[None ,1])
    12 
    13 
    14 #---------------------构建神经网络---------------------
    15 
    16 #----------------中间层 10 个
    17 Weights = tf.Variable(tf.random_normal([1 ,10]))
    18 biases = tf.Variable(tf.zeros([1,10]))
    19 res = tf.matmul(x , Weights) +biases
    20 L1= tf.nn.tanh(res)   #激活函数(双曲正切函数)
    21 
    22 #-------------输入层一个神经元 x
    23 
    24 #------------输出层为 y 一个神经元
    25 Weights_out = tf.Variable(tf.random_normal([10 ,1]))
    26 biases_out = tf.Variable(tf.zeros([1,1]))
    27 res_out = tf.matmul(L1 , Weights_out) +biases_out
    28 predict = tf.nn.tanh(res_out)
    29 
    30 #------------代价函数
    31 loss = tf.reduce_mean(tf.square(y - predict))
    32 train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)#梯度下降法训练
    33 
    34 
    35 #定义会话
    36 with tf.Session() as sess:
    37     sess.run(tf.global_variables_initializer())
    38     for i in range(2000):
    39         sess.run(train_step, feed_dict={x:x_data , y:y_data})
    40 
    41     #获取预测值
    42     predict_value = sess.run(predict , feed_dict={x:x_data})
    43 
    44     #画图
    45     plt.figure()
    46     plt.scatter(x_data,y_data)
    47     plt.plot(x_data , predict_value ,"r")
    48     plt.show()

    代码都有注释。适合初学者理解。

    例子主要回归了一个自定义的函数 y = x2

    本例子的网络结构:

    搭建步骤:

    ① 定义图

    ② 定义损失函数

    ③ 定义会话,在会话中运行

    ④训练

    ⑤评估

  • 相关阅读:
    pip几个国内速度非常快的源
    【模型推理】ncnn 模型转换及量化流程
    Could not load library cudnn_cnn_infer64_8.dll. Error code 126 Please make sure cudnn_cnn_infer64_8.
    基于ncnn的iOS端深度学习算法部署及应用
    AlexNet网络结构与pytorch代码实现
    tensorflow 转coreml
    模型转换工具
    Mac Ideal 操作快捷键
    pom 添加远程镜像源
    java wrapper
  • 原文地址:https://www.cnblogs.com/WSX1994/p/11221492.html
Copyright © 2020-2023  润新知