利用PyTorch实现线性回归传送门 Pytorch深度学习教程 本文借鉴CSDN专栏 PyTorch 深度学习实践
本节共分为四步
Prepare dataset后续有方法,现在目前用简单手打代替
12x_data=torch.tensor([[1.0],[2.0],[3.0]])y_data=torch.tensor([[2.0],[4.0],[6.0]])
Design model12345678910class LinearModle(torch.nn.Module): def __init__(self): super(LinearModle,self).__init__() self.linear=torch.nn.Linear(1,1) def forward(self,x): y_prev = self.linear(x) return y_prevmodel = LinearModle()
封装好类,使用仅需要实例化即可
Construct loss and optimizer ...
传送门 Pytorch深度学习教程 本文借鉴CSDN专栏 PyTorch 深度学习实践
反向传播算法这节引出了一个重要概念 Tensor 网上相关文档很多 但是眼花缭乱 本蒟蒻看的云里雾里
本蒟蒻的理解目前主要分为三点
Tensor是一个多维数组结构,可以表示数值,向量,矩阵甚至更高维的数据
Tensor具有自动求导求梯度的特性
Python 的标量值(int、float、bool)在与 Tensor 运算时, 会自动转换为与 Tensor 相同数据类型(dtype)的 Tensor 。
12345678910111213141516171819202122232425262728293031323334353637383940414243import torch# 1. 创建 Tensora = torch.tensor([1, 2, 3]) # 从列表创建b = torch.rand(2, 3) # 创建 2x3 的随机数矩阵(范围[0,1))c = torch.zeros(3) # 创建全零向 ...
梯度下降算法传送门 Pytorch深度学习教程 本文借鉴CSDN专栏 PyTorch 深度学习实践
1234567891011121314151617181920212223242526272829303132333435import matplotlib.pyplot as pltx_data = [1.0,2.0,3.0]y_data = [2.0,4.0,6.0]def forward (x): return x*wdef cost(xs,ys): loss=0 for x,y in zip(xs,ys): y_prev = forward (x) loss += (y_prev - y) **2 return loss / len(xs)def grad(xs,ys): g=0 for x,y in zip(xs,ys): y_prev = forward(x) g+=2*x*(y_prev - y) return g / len(xs)epoch_list = []loss_list ...
计算机系统概述计算机硬件1.冯诺依曼计算机的特点
“存储程序”的工作方式 p:将实现编制好的程序和原始数据送入主存储器后才能执行,一旦程序被启动,无需人员干预,计算机自动逐条执行,直到结束。
硬件系统五大部分:运算器,存储器,控制器,输入设备,输出设备
指令数据等地位存在存储器中,形式上无区别,但计算机能分辨
指令数据均用二进制代码组成
指令由操作码和地址码组成,操作码指出操作的类型,地址码指出操作数的地址
2.计算机的功能部件
输入设备:将程序与数据以机器能接受的形式输入计算机
输出设备:将计算机结果以人类能接受的形式输出
存储器:分为主存储器(内存储器或主存)和辅助存储器(外存储器或外存)。CPU能直接访问的为主存,辅助存储器的内容必须进入主存才能访问。主存储器的工作方式为按存储单元的地址进行存取,称为按地址存取。MAR用于存放访存地址,位数反映最多可寻址的存储单元的个数。MDR用于暂存要从存储器读或写的信息,位数通常为存储字长
运算器:用于算术和逻辑运算。核心为ALU(算术逻辑单元)。运算器包含若干寄存器,其中ACC(累加器),MQ(乘商寄存器),X(操作数寄存器)是必须的
控 ...
线性模型传送门 Pytorch深度学习教程 本文借鉴CSDN专栏 PyTorch 深度学习实践
1234567891011121314151617181920212223242526272829303132333435import numpy as npimport matplotlib.pyplot as plt x_data = [1.0, 2.0, 3.0]y_data = [2.0, 4.0, 6.0] def forward(x): return x*w def loss(x, y): y_pred = forward(x) return (y_pred - y)**2 # 穷举法w_list = []mse_list = []for w in np.arange(0.0, 4.1, 0.1): print("w=", w) l_sum = 0 for x_val, y_val in zip(x_data, y_data): y_pred_val = forward(x_val) lo ...