Pytorch5线性神经网络
Pytorch learning notes5 –线性神经网络线性回归回归(regression)是能为一个或多个自变量与因变量之间关系建模的一类方法。 在自然科学和社会科学领域,回归经常用来表示输入和输出之间的关系。
在机器学习领域中的大多数任务通常都与预测(prediction)有关。
线性回归的基本元素 线性回归基于几个简单的假设: 首先,假设自变量𝑥和因变量𝑦之间的关系是线性的, 即𝑦可以表示为𝑥中元素的加权和,这里通常允许包含观测值的一些噪声; 其次,我们假设任何噪声都比较正常,如噪声遵循正态分布。
为了解释线性回归,我们举一个实际的例子: 我们希望根据房屋的面积(平方英尺)和房龄(年)来估算房屋价格(美元)。 为了开发一个能预测房价的模型,我们需要收集一个真实的数据集。 这个数据集包括了房屋的销售价格、面积和房龄。 在机器学习的术语中,该数据集称为训练数据集(training data set) 或训练集(training set)。 每行数据(比如一次房屋交易相对应的数据)称为样本(sample), 也可以称为数据点(data point)或数据样本(data i ...
Pytorch4文档查阅
Pytorch learning notes4 –文档查阅——–提供了一些查看PyTorch API的指导。
查找模块中的所有函数和类为了知道模块中可以调用哪些函数和类,可以调用dir函数。 例如,我们可以查询随机数生成模块中的所有属性:
123import torchprint(dir(torch.distributions))
通常可以忽略以“__”(双下划线)开始和结束的函数,它们是Python中的特殊对象, 或以单个“_”(单下划线)开始的函数,它们通常是内部函数。 根据剩余的函数名或属性名,我们可能会猜测这个模块提供了各种生成随机数的方法, 包括从均匀分布(uniform)、正态分布(normal)和多项分布(multinomial)中采样。
查找特定函数和类的用法1help(torch.ones)
123456789101112131415161718192021222324252627282930313233Help on built-in function ones in module torch:ones(...) ones(*size, *, out=No ...
Pytorch3自动微分
Pytorch learning notes3 –自动微分求导是几乎所有深度学习优化算法的关键步骤。 虽然求导的计算很简单,只需要一些基本的微积分。 但对于复杂的模型,手工进行更新是一件很痛苦的事情(而且经常容易出错)。
深度学习框架通过自动计算导数,即自动微分(automatic differentiation)来加快求导。 实际中,根据设计好的模型,系统会构建一个计算图(computational graph), 来跟踪计算是哪些数据通过哪些操作组合起来产生输出。 自动微分使系统能够随后反向传播梯度。 这里,反向传播(backpropagate)意味着跟踪整个计算图,填充关于每个参数的偏导数。
A simple example1234import torchx = torch.arange(4.0)x
1tensor([0., 1., 2., 3.])
在我们计算𝑦关于𝑥的梯度之前,需要一个地方来存储梯度。 重要的是,我们不会在每次对一个参数求导时都分配新的内存。 因为我们经常会成千上万次地更新相同的参数,每次都分配新的内存可能很快就会将内存耗尽。 注意,一个标量函数关于向 ...
Pytorch2微积分实现
Pytorch learning notes2 –微积分实现为了更好地在python中实现导数,让我们做一个实验。 定义𝑢=𝑓(𝑥)=3𝑥2−4𝑥如下:
123456%matplotlib inline # Jupyter中使用的魔法命令(Magic Command)。在单元格内直接显示 Matplotlib 生成的图形import numpy as npimport matplotlib.pyplot as pltfrom d2l import torch as d2ldef f(x): return 3 * x ** 2 - 4 * x
通过令𝑥=1并让ℎ接近0,[𝑓(𝑥+ℎ)−𝑓(𝑥)]/ℎ的数值结果接近2。 虽然这个实验不是一个数学证明,但稍后会看到,当𝑥=1时,导数𝑢′是2。
1234567def numerical_lim(f, x, h): return (f(x + h) - f(x)) / hh = 0.1for i in range(5): print( ...
C++容器常用方法汇总
C++容器常用方法汇总——陆熠鹏一. Vector1. 定义·1234//创建一个空vectorvevtor<int> vec;//指定元素个数,且值均为tvector<int> vec(int sive, int t);
2. 增1234//向向量尾部增加一个元素xvec.push_back(const T& x);//向量中迭代器指向元素前增加一个元素vec.insert(inerator it,const T& x);
迭代器使用example:
123456vector<int> vv={1,2,3,4,5}; for(vector<int>::iterator it=vv.begin();it!=vv.end();it++) { cout<<*it<<" "; } cout<<endl;
3. 删1234567//删除向量尾部最后一个元素vec.pop_back( ...
Pytorch1线性代数实现
Pytorch learning notes1 –线性代数实现矩阵正如向量将标量从零阶推广到一阶,矩阵将向量从一阶推广到二阶。 矩阵,我们通常用粗体、大写字母来表示 (例如,𝑋、𝑌和𝑍), 在代码中表示为具有两个轴的张量。
数学表示法使用𝐴∈𝑅𝑚×𝑛 来表示矩阵𝐴,其由𝑚行和𝑛列的实值标量组成。 我们可以将任意矩阵𝐴∈𝑅𝑚×𝑛视为一个表格, 其中每个元素𝑎𝑖𝑗属于第𝑖行第𝑗列:
创建矩阵当调用函数来实例化张量时, 我们可以通过指定两个分量𝑚和𝑛来创建一个形状为𝑚×𝑛的矩阵。
12A = torch.arange(20).reshape(5, 4)A
12345tensor([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11], [12, 13, 14, 15], [16, 17, 18, 19]])
矩形转置1A.T
1234tensor([[ 0, 4, 8, 12, 16], [ 1, 5, 9, 1 ...
Docker入门
Docker1.基本操作登录docker hub
1docker login
使用 docker tag 命令给本地镜像打标签
1docker tag demo-docker:1.0 lypsdocker/teacherspringboot1:1.0
这里,demo-docker:1.0 是你本地镜像的名字和标签,lypsdocker/teacherspringboot1:1.0 是你想要推送到 Docker Hub 的用户名、仓库名和标签。
使用 docker push 命令推送镜像到 Docker Hub
1docker push lypsdocker/teacherspringboot1:1.0
查看正在运行的容器
1docker ps
查看所有容器(包括已停止的)
1docker ps -a
停止容器
1docker stop demo-docker
这将停止名为demo-docker的容器.
启动容器(如果之前已经停止)
1docker start demo-docker
删除容器
1docker rm demo-docker
...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment