动手深度学习(Pytorch)
文章平均质量分 53
深度学习
托尼stark
你能从现在开始改变,也可以一成不变。
展开
-
RuntimeError: ‘lengths‘ argument should be a 1D CPU int64 tensor, but got 1D cuda:0 Long tensor
Pytorch版本1.8,运行程序使用GPU训练时出现以下错误:将lengths改为lengths.cpu()或lengths.to('cpu')即可。原因:Pytorch1.5以上版本升级了Bi-LSTM导致的。原创 2021-09-23 09:04:10 · 4977 阅读 · 3 评论 -
语言模型的计算N-gram
文章分别参考自:掘金和深入浅出讲解语言模型 - 知乎语言模型:例如在语音识别中,给定一段“厨房里食油用完了”的语音,有可能会输出“厨房里食油用完了”和“厨房里石油用完了”这两个读音完全一样的文本序列。如果语言模型能判断出前者大于后者的概率,我们就可以输出:“厨房里食油用完了”的文本序列,这就是语言模型要做的事。简而言之就是计算一个句子的概率的模型。给定一个句子或者文本序列S,S是由w1,w2...wk个词语组成,则它的概率可以表示为:P(S)=P(w1,w2,...wk)=P(w1)P(w2|w原创 2021-09-17 16:39:38 · 1517 阅读 · 1 评论 -
多层感知机的简洁实现
import torchfrom torch import nnfrom torch.nn import initimport numpy as npimport syssys.path.append('..')import painting as pt#1.定义模型num_inputs,num_outputs,num_hiddens=784,10,256net=nn.Sequential( pt.FlattenLayer(), nn.Linear(num_input.原创 2021-09-14 14:32:26 · 119 阅读 · 0 评论 -
多层感知机的从零开始实现
多层感知机(multilayer perception,MLP)在单层神经网络的基础上引入了一到多个隐藏层,隐藏层位于输入层和输出层之间,此前线性回归和softmax回归在内的都属于单层神经网络。上述问题的根源在于:全连接层只是对数据做仿射变换,而多个仿射变换的叠加仍然是仿射变换,解决问题的一个方法是引入非线性变换,例如对隐藏变量使用按元素运算的非线性函数进行变换,然后在作为下一个全连接层的输入。这个非线性函数被称为激活函数。仿射变换:简单来说就是"线性变换"+"平移"。仿射变换从几何直观主要.原创 2021-09-14 11:16:11 · 254 阅读 · 0 评论 -
softmax回归的简洁实现
import torchfrom torch import nnfrom torch.nn import initimport numpy as npimport syssys.path.append("..")import painting as pt#1.获取和读取数据batch_size=256train_iter,test_iter=pt.load_data_fashion_mnist(batch_size)"""softmax回归的输出层是一个全连接层,因此用一个线性.原创 2021-09-13 18:43:12 · 178 阅读 · 0 评论 -
Softmax回归的从零实现
#Softmax回归的从零实现import torchimport torchvision"""torchvision是Pytorch中专门用来处理图像的库,这个包中主要包含4大类torchvision.datasets:是用来进行数据集加载的,帮我们提前处理好了许多图片数据集torchvision.models:为我们提供了已经训练好的模型,可以加载之后直接使用torchvision.transforms:该模块提供了一般的图像转换操作类如:torchvision.transforms..原创 2021-09-13 11:12:24 · 165 阅读 · 0 评论 -
SOFTMAX回归
一、softmax回归与线性回归适用于输出为连续值的情景不同,它适用于像图像类别这样的离散值,主要解决分类问题,且softmax回归的输出单元从一个变成了多个。然而直接使用输出层会面临两个问题:一是由于输出层的范围不确定,难以直观的判断这些值的意义。二是由于真实标签是离散值,这些离散值与不确定范围的输出值之间的误差难以衡量。二、softmax运算符:解决了以上两个问题,它通过将输出值变换成值为正且和为1的概率分布。交叉熵损失函数:前面提到使用softmax运算后可以更方便的计..原创 2021-05-13 12:36:08 · 2605 阅读 · 5 评论 -
线性回归的简洁实现(二)
此处使用Pytorch可以更方便的实现线性回归的训练。#1.生成数据集 还和之前的一样原创 2021-05-11 22:05:21 · 244 阅读 · 0 评论 -
线性回归的从零实现(一)
线性回归是利用数理统计中回归分析来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。表达形式为y=w'x+e,e为服从均值为0的正态分布。其输出值是一个连续值。(如预测房屋价格、气温、销售额等)模型定义:设房屋面积为x1,房龄为x2,出售价格为y。假设线性回归输出与各输入之间是线性关系:y^=x1*w1+x2*w2+b,其中w1,w2是线性回归模型的参数,模型输出y^是线性回归对真实价格的预测,通常允许之间有一定的误差。为什么要进行模型的训练?为了寻找特定的模型参数值使模型在数据上的误差原创 2021-05-08 17:02:15 · 319 阅读 · 0 评论 -
Tensor及基本数据操作
在Pytorch中torch.Tensor是存储和变换数据的主要工具,Tensor一般译作张量,可以看做是一个多维数组。标量可以看作0维张量,向量可以看做1维张量,矩阵可以看做2维张量。Pytorch中函数的操作对象基本都是Tensor。根据存储类型的不同有FloatTensor(32位)和LongTensor(64位)。一、基本函数:1.查看Pytorch的版本:import torchprint(torch.__version__)创建一个随机未初始化的5x3的Tensor.原创 2021-04-08 22:08:43 · 7005 阅读 · 0 评论 -
Windows下在pycharm中安装pytorch
打开pycharm 点击左上角的file————settings————找到Project Interpreter————点击+号:点击Manage Repositories输入下面的两个网址即可,点击ok保存https://pypi.tuna.tsinghua.edu.cn/simple/https://mirrors.aliyun.com/pypi/simple/然后点击搜索pytorch点击安装即可,但是我安装的时候显示错误,系统提示我在terminal中用pi..原创 2021-04-07 13:37:42 · 2592 阅读 · 1 评论 -
ANACONDA更新包报错:CONDAERROR: CANNOT LINK A SOURCE THAT DOES NOT EXIST.
安装anaconda后使用conda update --all命令更新升级包出现下列错误:这时可通过conda install tqdm -f 命令解决:也许是你安装更新包之前忘记先安装pip命令,可以使用 conda install pip,然后可以接着更新。...原创 2021-04-07 11:48:00 · 6763 阅读 · 3 评论 -
Windows下anaconda安装教程
方法一:直接选择anaconda官网下载:下载地址:https://www.anaconda.com/distribution/选择对应的版本和64/32位即可,缺点是比较慢方法二:使用清华镜像源安装:搜索清华镜像源或者进入官网https://mirrors.tuna.tsinghua.edu.cn/然后点击anaconda并打开,点击archive选择对应版本点击下载:双击打开:点击同意即可.如果系统只有一个用户选择默认的第一个即可,如果有多个用户而且都要...原创 2021-04-07 11:26:55 · 472 阅读 · 2 评论 -
机器学习简介
机器学习概述1.1机器学习(Machine Learning ML):是指从有限的观测数据中学习或猜测出具有的一般性的规律,并利用这些规律对数据进行预测的方法,是人工智能一个重要的分支。1.2 传统机器学习的数据处理过程:上述流程中特征处理和预测两部分是分开进行处理的,传统机器模型一般关注最后一步即构造预测函数,但在实际操作中不同的预测模型性能相差不多,因此前三步的特征处理对最后系统的准确性有着十分重要的作用。而特征处理一般需要人工进行利用人类的经验选取最好的特征,因此许多机器学习的问题原创 2021-04-02 22:20:07 · 1421 阅读 · 0 评论