PytorchZerotoAll学习笔记(一)
Pytorch的安装请参考torch的官方文档,传送门:https://pytorch.org/get-started/locally/
- Numpy的复习
- 如果你之前没有学过Numpy的话,建议去看看cs231n的Python-numpy-tutorial:http://cs231n.github.io/python-numpy-tutorial/
- 先给出完整的代码,接下来是代码的解读
-
#导入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学习笔记(一)的更多相关文章
- PytorchZerotoAll学习笔记(三)--自动求导
Pytorch给我们提供了自动求导的函数,不用再自己再推导计算梯度的公式了 虽然有了自动求导的函数,但是这里我想给大家浅析一下:深度学习中的一个很重要的反向传播 references:https:// ...
- PytorchZerotoAll学习笔记(五)--逻辑回归
逻辑回归: 本章内容主要讲述简单的逻辑回归:这个可以归纳为二分类的问题. 逻辑,非假即真.两种可能,我们可以联想一下在继电器控制的电信号(0 or 1) 举个栗子:比如说你花了好几个星期复习的考试(通 ...
- PytorchZerotoAll学习笔记(四)--线性回归
线性回归 # 导入 torch.torch.autograd的Variable模块import torch from torch.autograd import Variable # 生成需要回归需要 ...
- PytorchZerotoAll学习笔记(二)--梯度下降之手动求导
梯度下降算法: 待优化的损失值为 loss,那么我们希望预测的值能够很接近真实的值 y_pred ≍ y_label 我们的样本有n个,那么损失值可以由一下公式计算得出: 要使得los ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
随机推荐
- ArrayList实现原理及源码分析之JDK8
转载 ArrayList源码分析 一.ArrayList介绍 Java 集合框架主要包括两种类型的容器: 一种是集合(Collection),存储一个元素集合. 一种是图(Map),存储键/值对映射. ...
- Opencv——级联分类器(AdaBoost)
API说明: cv::CascadeClassifier::detectMultiScale(InputArray image,//输入灰度图像 CV_OUT std::vector<Rect& ...
- P1134 阶乘问题
题目描述 也许你早就知道阶乘的含义,N阶乘是由1到N相乘而产生,如: 12! = 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 = 479,001, ...
- CentOS 6.5环境下配置Arcgis Server 10.3
感觉arcgis server在Windows系统下过于消耗资源,现将其配置到linux下,仅用于学习用.文中安装截图较多.因水平有限,难免有不周之处,请指教. 一.安装前准备 配置linux环境:此 ...
- pipeline 发布war包
pipline 写法分为 脚本式和声明式,下面采用脚本式编程: node { stage('checkout') { echo '开始检出代码' checkout([$class: 'GitSCM', ...
- 测试oracle表空间自动扩展
2019-04-1116:01:25 表空间分配10m自动扩展,向表中插入数据,看表空间达到10m以后是否会报错. 测试过程如下: 1.创建表空间 CREATE TABLESPACE TEST DAT ...
- js实现弹出框的拖拽
//HTML部分 <div class="wrap"></div> <div class="popUpBox"> <d ...
- CPP/类/成员函数访问权限
- Android TV 全屏无标题
想要全部窗口全屏无标题,修改 res\values\styles.xml 可设置主题和样式 <resources> <!-- Base application theme, depe ...
- 使用jieba导入引用方法时,报错AttributeError: module 'jieba' has no attribute 'cut'
一.问题描述 import jieba导入后,使用jieba.cut()方法时报错AttributeError: module 'jieba' has no attribute 'cut' 二.问题分 ...