Back_Ward

博客园 首页 联系 订阅 管理

Pytorch的安装请参考torch的官方文档,传送门:https://pytorch.org/get-started/locally/

  1. Numpy的复习
    1. 如果你之前没有学过Numpy的话,建议去看看cs231n的Python-numpy-tutorial:http://cs231n.github.io/python-numpy-tutorial/
  2. 先给出完整的代码,接下来是代码的解读  
    1.  
      #导入numpy库和matplotlib里面的pyplot模块
      # tips:python语法 as :import XXX as YYY 就是给XXX 起个别名叫 YYY
      import
      numpy as np

      import matplotlib.pyplot as plt
      # []为一个list,生成浮点数
      x_data = [1.0, 2.0, 3.0]
      y_data = [2.0, 4.0, 6.0]
      
      #前向传播的模型为 y = w * x
      # our model for the forward pass
      def forward(x):
          return x * w
      
      #损失函数采用平方误差 (y_pred-y)2
      # Loss function
      def loss(x, y):
          y_pred = forward(x)
          return (y_pred - y) * (y_pred - y)
      
      #新建两个空的列表来记录 w、mse 的值 mse为均方误差 mean square error的缩写
      w_list = []
      mse_list = []
      # tips:python小知识点:np.arrange(起始,终止,步长) 生成一个区间的数值,步长就是起始值每次往终点值移动的长度
      for w in np.arange(0.0, 4.1, 0.1):
          # 在控制台,输出w的值
      print("w=", w)
      # 定义一个接收损失的变量,并初始化为0 l_sum
      = 0
      # tips: python zip函数 返回的值是:输入的两个数组对应位置组合的一个元组()
      # a= 【1,2,3】 zip(a,b)其实就是返回 (1,4),(2,5),(3,6)
      # b= 【4,5,6】
      for x_val, y_val in zip(x_data, y_data): #得到一个预测的值
      y_pred_val
      = forward(x_val) # 计算输入值得到的预测值和真实值之间的误差
      l
      = loss(x_val, y_val)
      # 误差进行求和 l_sum
      += l print("\t", x_val, y_val, y_pred_val, l) print("MSE=", l_sum / 3)
      # 【】.append 向列表中追加值 w_list.append(w) mse_list.append(l_sum
      / 3) # 调用画图函数 plt.plot(w_list, mse_list) # 添加 x,y的标签
      plt.ylabel(
      'Loss') plt.xlabel('w')
      # 将结果展示出来 plt.show()

       

       
posted on 2019-01-15 11:32  Back_Ward  阅读(623)  评论(0编辑  收藏  举报