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()

       

PytorchZerotoAll学习笔记(一)的更多相关文章

  1. PytorchZerotoAll学习笔记(三)--自动求导

    Pytorch给我们提供了自动求导的函数,不用再自己再推导计算梯度的公式了 虽然有了自动求导的函数,但是这里我想给大家浅析一下:深度学习中的一个很重要的反向传播 references:https:// ...

  2. PytorchZerotoAll学习笔记(五)--逻辑回归

    逻辑回归: 本章内容主要讲述简单的逻辑回归:这个可以归纳为二分类的问题. 逻辑,非假即真.两种可能,我们可以联想一下在继电器控制的电信号(0 or 1) 举个栗子:比如说你花了好几个星期复习的考试(通 ...

  3. PytorchZerotoAll学习笔记(四)--线性回归

    线性回归 # 导入 torch.torch.autograd的Variable模块import torch from torch.autograd import Variable # 生成需要回归需要 ...

  4. PytorchZerotoAll学习笔记(二)--梯度下降之手动求导

    梯度下降算法:    待优化的损失值为 loss,那么我们希望预测的值能够很接近真实的值 y_pred ≍ y_label      我们的样本有n个,那么损失值可以由一下公式计算得出: 要使得los ...

  5. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  6. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  7. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  8. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  9. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

随机推荐

  1. github与git基本操作(一)

    一.git上传本地项目到github 前提:github创建一个空仓库(得到“https://自己的仓库url地址”)1.第一步:就是要进入这个目录下,cmd2.第二步:输入git init3.第三步 ...

  2. R函数-时间序列ETS参数说明

    alpha\beta\gamma分别代表水平.趋势.季节分量的平滑参数α.β.γ.这三个参数我们希望接近于0,以便于更平滑,即越小越平滑.在乘法模型的情况下,参数需要非常低,否则模型会对噪声太敏感. ...

  3. FFMpeg笔记(五) 录制小视频时几个问题解决

    1. YUV数据在使用avfilter scale时在特定的分辨率下UV分量不对 由于是小视频,那么分辨率不需要太高,但是有的视频源是1080p,甚至有的是4K的,所以对视频源进行scale非常有必要 ...

  4. C#反射使用时注意BindingFlags的用法(转载)

    最近刚刚开始用反射做项目,遇到一个小的知识点,记录一下. c#反射查找方法时,默认只能查到public方法.如果想要查找private方法,需要设定BindingFlags.    即: Bindin ...

  5. 在线扫描PDF JPG 图片上面文字

    在线扫描PDF JPG 图片上面文字

  6. MacOS在Finder中建立快速新建txt的workflow

    Mac是不支持右键直接新建txt的,因此有时候需要用到文本文稿的时候会比较麻烦.   因此这里提供一种个人认为比较方便的方法,让Mac也能很简洁的新建txt文件.   工具介绍: Automator ...

  7. spark 基础开发 Tips总结

    本篇博客主要是 sparksql 从初始开发注意的一些基本点以及力所能及的可优化部分的介绍: 所使用spark版本:2.0.0       scala版本:2.11.8 1. SparkSession ...

  8. pci枚举初始化部分(1)

    基于linux-4.20-rc3源码分析 1 .扫描所有PCI设备并检测,填充设备结构体 static struct pci_dev *pci_scan_device(struct pci_bus * ...

  9. JavaScript总结(二)

    JavaScript的数据类型 ✍ 原始数据类型值: JavaScript有5中原始数据类型,通过调用typeof运算符返回值查看变量类型: ➣ Undefined ➔ 'undefined': Un ...

  10. 无聊中,写个常见的图片保护分类-iOS

    当美工给出例如下面这种图的时候,但是需要拉伸的时候,就不得不做拉伸保护了. //调用代码 UIImage * img = [UIImage protectedImageWithLocalImageNa ...