pytorch基础(附代码)

从零开始安装pytorch(包含GPU和CPU版本的安装) Pytorch是。 阅读详情

1.基本数据类型:

pytorch只是一个GPU加速库,不支持String,使用编码表示。

不同维度数据类型不同。

dim=0:loss表示;dim=1: bias/linear input;dim=2:linear input batch;

dim=3: RNN input batch; dim=4: 图片[b,c,h,w].

#要有文件声明import torch,随机生成一个服从N(0,1)的(2,3)矩阵,查询类型并检验
import torch
a = torch.randn(2,3)
a.type()
type(a)

#数据原本是存储在cpu上的,使用a.cuda()可将数据转存到GPU上
isinstance(a,torch.FloatTensor)
isinstance(a,torch.cuda.FloatTensor)

#不同维度数据类型不同。
#dim=0:标量,1.3是0维,但是[1.3]是1维。在表示loss时使用标量。
torch.tensor(1.)
torch.tensor(1.3)
b = torch.tensor(2.2)
b.shape
len(b.shape)
b.size()
torch.tensor([2.2])
torch.FloatTensor(2)

#dim=1: 向量,.tensor接收数据内容,从numpy引入,使用from_numpy从a引入,但是数据类型不同,在表示bias/linear input 时使用。
import numpy as np
a = np.ones(2)
torch.tensor([2.2])

torch.FloatTensor(2)

torch.from_numpy(a)
a = torch.randn(2,3)

#dim=2:linear input batch;dim、size/shape、tensor分清楚
#dim=3: RNN input batch;
#dim=4: 图片[b,c,h,w].  2张3通道的28*28大小的图片
a
Out[47]: 
tensor([[ 2.4067, -1.0651, -1.2691],
        [ 1.1589,  0.0887, -1.4517]])

a.shape
Out[48]: torch.Size([2, 3])

a.size(0)
Out[49]: 2

a.size(1)
Out[50]: 3

a.shape[1]
Out[51]: 3

a = torch.randn(1,2,3)

a
Out[53]: 
tensor([[[ 1.2273,  0.3963, -0.4747],
         [ 0.7900,  0.7536,  1.0597]]])

a.size(0)
Out[54]: 1

a.shape
Out[55]: torch.Size([1, 2, 3])

list(a.shape)
Out[56]: [1, 2, 3]

a[0]
Out[57]: 
tensor([[ 1.2273,  0.3963, -0.4747],
        [ 0.7900,  0.7536,  1.0597]])

a = torch.rand(2,3,28,28)

#求取size/内存大小/维度
a.shape
Out[60]: torch.Size([2, 3, 28, 28])

数据类型:需要注意数据的存取位置,Pytroch 涉及到 Variable,Tensor 和 Numpy 间的转换比较多,还会涉及到 cuda 到 cpu的转换。

2.创建Tensor:从numpy、list中取

随机:torch.rand(2,3)  torch.randint(1,10,3)   torch.rand_like(a)

torch.arange(0,10)
Out[67]: tensor([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

torch.arange(0,10,2)
Out[68]: tensor([0, 2, 4, 6, 8])

torch.range(0,10)
__main__:1: UserWarning: torch.range is deprecated in favor of torch.arange and will be removed in 0.5. Note that arange generates values in [start; end), not [start; end].
Out[69]: tensor([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.])

torch.linspace(0,10,steps=10)
Out[70]: 
tensor([ 0.0000,  1.1111,  2.2222,  3.3333,  4.4444,  5.5556,  6.6667,  7.7778,
         8.8889, 10.0000])

torch.linspace(0,10,steps=11)
Out[71]: tensor([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.])

torch.logspace(0,1,steps=10)
Out[72]: 
tensor([ 1.0000,  1.2915,  1.6681,  2.1544,  2.7826,  3.5938,  4.6416,  5.9948,
         7.7426, 10.0000])

torch.logspace(0,-1,steps=10)
Out[73]: 
tensor([1.0000, 0.7743, 0.5995, 0.4642, 0.3594, 0.2783, 0.2154, 0.1668, 0.1292,
        0.1000])
		
		
		torch.randperm(10)
Out[74]: tensor([6, 5, 3, 7, 1, 0, 4, 2, 9, 8])

初始化:torch.empty()    默认FloatTensor,增强学习一般是DoubleTensor

正态分布:torch.randn(3,3)   torch.normal()    torch.full([2,3],7)

随机打散randperm=tensorflow中的shuffle

3.索引和切片

a[:2,1:,:,:]   ::2是从头开始到2,不包含2, :即全取, 1:是从1开始至末尾, 0:28:2是隔行采样,定义开始和结束,不包含结束。

a.index_select(0,torch.tensor([0,2])).shape

torch.masked_select()  mask = x.ge(0.5)是掩码  

a = torch.rand(4,3,28,28)

a[0].shape
Out[76]: torch.Size([3, 28, 28])

a[0,0].shape
Out[77]: torch.Size([28, 28])

a[0,0,2,4].shape
Out[78]: torch.Size([])

a[0,0,2,4].shape
Out[79]: torch.Size([])

a.shape
Out[80]: torch.Size([4, 3, 28, 28])

a[:2].shape
Out[81]: torch.Size([2, 3, 28, 28])

a[:2,:1,:,:].shape
Out[82]: torch.Size([2, 1, 28, 28])

a[:2,1:,:,:].shape
Out[83]: torch.Size([2, 2, 28, 28])

a[:2,-1:,:,:].shape
Out[84]: torch.Size([2, 1, 28, 28])

a[:,:,0:28:2,0:28:2].shape
Out[85]: torch.Size([4, 3, 14, 14])

a.index_select(0,torch.tensor([0,2])).shape
Out[86]: torch.Size([2, 3, 28, 28])

a.index_select(2,torch.tensor([0,2])).shape
Out[87]: torch.Size([4, 3, 2, 28])

a.index_select(2,torch.arange(8)).shape
Out[88]: torch.Size([4, 3, 8, 28])

a.index_select(2,torch.arange(28)).shape
Out[89]: torch.Size([4, 3, 28, 28])

a[...].shape
Out[90]: torch.Size([4, 3, 28, 28])

a[:,1,...].shape
Out[91]: torch.Size([4, 28, 28])

a[...,:2].shape
Out[92]: torch.Size([4, 3, 28, 2])

4.维度变换

view/reshape改变维度   squeeze/unsqueeze挤压/展开   

x = torch.randn(2,3)

x
Out[94]: 
tensor([[ 0.5830, -1.7913,  0.6734],
        [-0.2519,  0.8256, -0.5367]])

mask = x.ge(0.65)

mask
Out[96]: 
tensor([[0, 0, 1],
        [0, 1, 0]], dtype=torch.uint8)

torch.masked_select(x,mask)
Out[97]: tensor([0.6734, 0.8256])

torch.masked_select(x,mask).shape
Out[98]: torch.Size([2])

a = torch.rand(4,1,28,28)

a.shape
Out[100]: torch.Size([4, 1, 28, 28])

a.view(4,1*28*28)
Out[101]: 
tensor([[0.6230, 0.2053, 0.6135,  ..., 0.8385, 0.7093, 0.6174],
        [0.3168, 0.2403, 0.6323,  ..., 0.3382, 0.6624, 0.4497],
        [0.2216, 0.1348, 0.4973,  ..., 0.2912, 0.3401, 0.3038],
        [0.3945, 0.2593, 0.6659,  ..., 0.7032, 0.7229, 0.7585]])

a.view(4,1*28*28).shape
Out[102]: torch.Size([4, 784])

a.view(4*1*28,28).shape
Out[103]: torch.Size([112, 28])

a.view(4*1,28,28).shape
Out[104]: torch.Size([4, 28, 28])

a.shape
Out[105]: torch.Size([4, 1, 28, 28])

a.unsqueeze(0).shape
Out[106]: torch.Size([1, 4, 1, 28, 28])

a.unsqueeze(-1).shape
Out[107]: torch.Size([4, 1, 28, 28, 1])

a.unsqueeze(4).shape
Out[108]: torch.Size([4, 1, 28, 28, 1])

a.unsqueeze(-4).shape
Out[109]: torch.Size([4, 1, 1, 28, 28])

a.unsqueeze(-5).shape
Out[110]: torch.Size([1, 4, 1, 28, 28])

b = torch.tensor([1.3,2.2])

b.unsqueeze(-1)
Out[112]: 
tensor([[1.3000],
        [2.2000]])

b.unsqueeze(-1).shape
Out[113]: torch.Size([2, 1])

b.unsqueeze(0)
Out[114]: tensor([[1.3000, 2.2000]])

b.unsqueeze(0).shape
Out[115]: torch.Size([1, 2])

a.shape
Out[116]: torch.Size([4, 1, 28, 28])

a.squeeze().shape
Out[117]: torch.Size([4, 28, 28])

a.squeeze(0).shape
Out[118]: torch.Size([4, 1, 28, 28])

a.squeeze(1).shape
Out[119]: torch.Size([4, 28, 28])

a.shape
Out[120]: torch.Size([4, 1, 28, 28])

a.expand(4,32,28,28).shape
Out[121]: torch.Size([4, 32, 28, 28])

a.expand(4,-1,28,28).shape
Out[122]: torch.Size([4, 1, 28, 28])

a.shape
Out[123]: torch.Size([4, 1, 28, 28])

a.repeat(4,1,28,28).shape
Out[124]: torch.Size([16, 1, 784, 784])

transpose/permute维度交换/排列    expand/repeat扩展

5.broadcast自动扩展:

维度扩展且不考虑数据,自动根据情况变换维度,小维度指定,大维度随意。

6.拼接于拆分:

拼接:cat(其他维度需相同)、stack(创建新维度)

拆分:spilt(按长度)、chunk(按数量)

7.数学运算

加减乘除:add/+、sub/-、mul/matmul/mm(2d)/@/*、div//

次方:pow(array,2/3/4/0.5....)  a**(2) 平方  a**(0.5)开方    exp()   log()

向前取整/向后取整/取整数/取小数/四舍五入

a.floor()  a.ceil()  a.trunc()  a.frac()  a.round()

clamp 梯度裁剪    w.grad.norm(2) 2范数

8.统计属性

向量和矩阵的范数norm

均值mean  求和sum  累乘prod  最大max  最小 min  

argmax   argmin(返回索引,默认打平,需指定维度dim=1)

第k小 kthvalue     topk得到top-5、top-1的ACC

torch.eq(a,b)  >  >=   <  <=   !=  ==

9.高阶属性

where   torch.where(condition,x,y)->Tensor

grather   torch.gather(input,dim,index,out=None)>Tensor

a = torch.rand(4,3,28,28)

b = torch.rand(7,3,28,28)

torch.cat([a,b],dim=0).shape
Out[174]: torch.Size([11, 3, 28, 28])


a = torch.rand(4,28)

b = torch.rand(4,28)

torch.stack([a,b],dim=0).shape
Out[179]: torch.Size([2, 4, 28])

b = torch.rand(32,8)

a = torch.rand(32,8)

a.shape
Out[187]: torch.Size([32, 8])

c = torch.stack([a,b],dim=2)

c.shape
Out[189]: torch.Size([32, 8, 2])

c = torch.stack([a,b],dim=0)

c.shape
Out[191]: torch.Size([2, 32, 8])

aa,bb = c.split([1,1],dim = 0)

aa.shape,bb.shape
Out[193]: (torch.Size([1, 32, 8]), torch.Size([1, 32, 8]))

aa,bb = c.split(1,dim = 0)

aa.shape,bb.shape
Out[195]: (torch.Size([1, 32, 8]), torch.Size([1, 32, 8]))

a = torch.rand(2,3)

a
Out[198]: 
tensor([[0.8050, 0.2007, 0.8133],
        [0.9259, 0.9294, 0.5924]])

cond = torch.rand(2,3)

a=torch.zeros(2,3)

b=torch.ones(2,3)

torch.where(cond>0.8,a,b)
Out[202]: 
tensor([[1., 0., 0.],
        [1., 1., 1.]])

cond
Out[203]: 
tensor([[0.7988, 0.9074, 0.9060],
        [0.1050, 0.2191, 0.3774]])

a=torch.zeros(2,3)

a
Out[205]: 
tensor([[0., 0., 0.],
        [0., 0., 0.]])

b=torch.ones(2,3)

b
Out[207]: 
tensor([[1., 1., 1.],
        [1., 1., 1.]])

torch.where(cond>0.8,a,b)
Out[208]: 
tensor([[1., 0., 0.],
        [1., 1., 1.]])
		
idx = prob.topk(dim = 1,k = 3)

idx
Out[212]: 
torch.return_types.topk(
values=tensor([[2.2290, 1.6039, 0.6530],
        [0.7446, 0.5598, 0.5175],
        [1.4924, 0.4901, 0.2325],
        [0.7950, 0.5144, 0.2997]]),
indices=tensor([[8, 5, 4],
        [8, 7, 0],
        [5, 3, 1],
        [2, 0, 3]]))

idx = idx[1]

idx
Out[214]: 
tensor([[8, 5, 4],
        [8, 7, 0],
        [5, 3, 1],
        [2, 0, 3]])
		
		
label = torch.arange(10)+100

label
Out[217]: tensor([100, 101, 102, 103, 104, 105, 106, 107, 108, 109])

torch.gather(label.expand(4,10),dim=1,index=idx.long())

Out[218]: 
tensor([[108, 105, 104],
        [108, 107, 100],
        [105, 103, 101],
        [102, 100, 103]])

 

【Pytorch】2024 Pytorch基础入门教程(完整详细版) Pytorch是torch的python版本,是由Facebook开源的神经网络框架,专门针对 GPU 加速的深度神经网络(DNN)编程。Torch 是一个经典的对多维矩阵数据进行操作的张量(tensor )库,在机器学习和其他数学密集型应用有广泛应用。与Tensorflow的静态计算图不同,pytorch的计算图是动态的,可以根据计算需要实时改变计算图。但由于Torch语言采用 Lua,导致在国内一直很小众,并逐渐被支持 Python 的 Tensorflow 抢走用户。 阅读详情

相关推荐

【2025CVPR】基于脉冲神经网络的能效目标检测模型:Multi-scale Spiking Detector(MSD)深度解析

本文提出了一种创新的多尺度脉冲神经网络目标检测器(MSD),通过生物启发的ONNB模块和MSDF框架实现了高效准确的目标检测。该模型采用端到端直接训练策略,在COCO数据集上达到62.0%mAP的精度,同时仅需7.8M参数和6.43mJ能耗,较传统方法提升2.8%精度并降低82.9%能耗。实验验证了其在小目标检测和事件数据处理的优越性,为边缘计算应用提供了新范式。

hasakie的博客 1109

Tensorflow笔记

转载于人工智能实践:Tensorflow笔记 基本概念 基于 Tensorflow 的 NN:用张量表示数据,用计算图搭建神经网络,用会话执行计算图,优化线上的权重(参数),得到模型。 张量:张量就是多维数组(列表),用“阶”表示张量的维度。 0 阶张量称作标量,表示一个单独的数; 举例 S=123 1 阶张量称作向量,表示一个一维数组; 举例 V=[1,2,3] 2 阶张量称作矩阵,表示一个二...

HydraHuYu 302

计组实验之四路表决器

请在之前四路表决器电路实现的基础上,继续用连接线 联接CD4511,将投票为1的票数总和显示到一个 LED上,思考如何做?由于我们需要通过显示字形来直接看出有几个1,在这里,我们最多有四个1,即显示字形最多到4就行,所以我们需要将有几个1用2进制数来表示,下面给出了相关电路图。显示输入插口,按真值表(自拟)要求,逐次改变输入变量, 测量相应的输出值,验证逻辑功能, 与表3-1 进行比较, 验证所设计的逻辑电路是否符合要求。用实验结果与真值表3-1和3-2进行比对,可以得出,我们实验结果是正确的。

szyugly的博客 1万+

pytorch深度学习:RNN循环神经网络(二)

上一节了解到了RNN和LSTM的基础知识,这节我们使用LSTM网络对mnist手写数字数据集进行处理。重点了解LSTM网络的搭建方法以及各个参数所代表的含义。 1.问题的提出 我们知道RNN一般是用来处理具有时间序列的数据,但是mnist数据集是图像数据,怎么进行处理呢?这里我们将mnist手写字数据的每行当作不同时间点的数据,也就是一张图片是由28个时间序列数据组成,即Time_step=28,每个时间序列数据包含28个像素点,也就是Input_size=28。第一步,我们来创建一些超参数: # 定义一些

qq_37333048的博客 694

大数据面试 逻辑题

逻辑题大致分为比较逻辑题、分析逻辑题、综合逻辑题、抽象逻辑题、概括逻辑题、推理逻辑题、论证逻辑题等,由于这类题比较考验综合素质,因此也一直是各大企业笔试、面试时经常喜欢考察的题目类型之一。很多童鞋认为逻辑题很难,其实不然。多做练习,打开思路,这类题还是可以轻易化解的。 下面为大家整理了网络上最全的75道逻辑判断测试题。在每道题目下方有答案,是用白色显示的,反选就可以看到啦~ 【1】假设有一个池...

zzq_0916s的博客 4421

航空机载总线网络概述

1.机载总线网络概述 现代战斗机的航空电子系统是航空电子技术经历了半个多世纪的漫长演变和不断进步的结果。航空电子系统结构的每次变化,其核心的机载总线网络技术也不断跨上新台阶,而且每次变革都能使飞机性能得到大幅提升。现代飞机的飞行与作战任务包括起飞、巡航、飞行控制、目标搜索、识别跟踪、火控计算、武器投射、制导、电子战、通信等,都需要航空电子系统承担,航空电子系统是现代战斗机的“大脑”和“神经中枢”,机载总线网络则是其关键的“神经网络”。在机载通讯领域发展过程中,具有代表性的典型总线有ARINC429、1553

qq_41854911的博客 1万+

pytorch函数中的out参数

pytorch函数中的out参数 引自: https://discuss.pytorch.org/t/whats-the-benefit-of-using-out-parameter-in-tensor-operations/31728 在pytorch中 out 参数指的是 把** 函数得到的张量结果**赋值给out 这个参数输入的张量 例如 import torch a = torch.randn(2, 3) print(a) b = torch.randn(2, 3) c = torch.ad

twelve13的博客 2299

手把手教你用Three.js+Vue打造3D机房可视化系统(附完整代码)

本文详细介绍了如何使用Three.js与Vue 3构建企业级3D机房可视化系统。从技术选型、项目架构设计到3D场景构建、设备建模与渲染策略,提供了完整的开发方案和实战代码。重点讲解了如何实现设备状态实时监控、交互操作与性能优化,帮助开发者快速掌握3D可视化开发的核心技术。

ttt77的博客 317

pytorch基础教学简单实例(附代码)

零基础pytorch深度学习安装使用代码实例新手教学

Lizhi_Tech的博客 2万+

CANoe数据回放实战:如何用Replay Block精准复现实车故障(附ECU数据处理技巧)

本文深入探讨了利用CANoe的Replay Block功能进行数据回放,以精准复现实车偶发性故障的实战方法。文章重点解析了从原始OBD日志中移除目标ECU数据、转换报文方向等核心数据处理技巧,旨在帮助工程师重构真实的网络测试环境,从而高效定位并解决复杂的ECU问题。

nnn11的博客 496

excel 如何自动调整行间距 vba

EXCEL是一个非常使用的软件,虽然我们平时仅使用他做一些报表,仅此而已;我在工作中,由于很懒,不愿意做考试重复的工作,就想着使用vba的宏来完成重复的工作,这样就能省出一部分的时间来了。本人不喜欢在博客里面写以下教程类的东西,我的理念是将工作中的痛点的解决办法分享出来,以解决问题为主。

sixtome 1316

pyTorch基础入门(附代码)

pytorch的安装以及基础教程,笔记代码居多,通俗易懂

lht0909的博客 3438

CKS-CN考试之路----11

显然是alpine-b的镜像有libcrypto3-3.1.4-r5。新版本发布老版本会被回收,此时pod只剩下2个container。我们依次测试是哪个镜像里包含libcrypto3。可以看到alpine的pod有3个副本.

Q先生 652

一文读懂PyTorch张量基础(附代码)

作者:Matthew Mayo, KDnuggets翻译:和中华校对:丁楠雅本文约1000字,建议阅读5分钟。本文介绍了PyTorch Tensor最基础的知识以及如何跟...

数据派THU 9934

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Pytorch实战——气温预测(基础)附完整代码

各个参数的设置是根据前面的特征数量来进行确定,我们要进行128个神经元的设计,需要凑一个14*128的矩阵给weights,同理,最后预测结果为一个结果,所以我们要将weights2设置为128*1.在数据集当中,很明显数据集是大大小小的,有一些数值非常大,一些数值非常小,这个时候需要对其进行归一化,将所有数值按照权重、影响占比等缩放在(0,1)的范围当中。首先要进行权重的初始化,来为后面的学习打下基础,切记需要将每一次迭代后的梯度进行清零,否则将会一直累加,影响结果。此时可看到,时间数据都存在于一起。

HengHengZo的博客 4265

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

PyTorch从入门到实操:新手必看的基础教程(附完整代码)

张量就是多维数组,对应不同维度有不同叫法,新手无需死记,结合例子理解:0维张量(标量):单个数值,如1维张量(向量):一串数值,如2维张量(矩阵):二维数组,如3维及以上:多用于存储图片(如3通道图片:HWC)、时序数据等到这里,PyTorch的基础操作就全部讲完了,新手掌握这些内容,就能应对大部分入门级任务(如线性回归、简单分类)。总结一下核心要点:环境安装:根据CPU/GPU选择对应命令,避免源地址报错。张量操作:创建、类型转换、形状操作、索引操作是基础,务必多敲代码练习。

lrh122800的博客 991

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

基础积累 | 必备教程,一文全面理解Pytorch(附代码实例)

点击上方“AI算法修炼营”,选择加星标或“置顶”标题以下,全是干货来自 |知乎 作者 |瑾er链接 |https://zhuanlan.zhihu.com/p/11114413...

AI算法修炼营的博客 1453

PyTorch 从入门到实践:零基础也能懂的安装与核心使用指南(附完整代码)

本文是一份PyTorch深度学习入门实战指南,从环境安装到模型训练完整覆盖。首先详细介绍了PyTorch的安装方法,包括系统环境检查、官方命令获取和安装验证。接着讲解了PyTorch的核心概念:张量(Tensor)的基本操作和自动求导(Autograd)机制。然后通过MNIST手写数字分类案例,演示了数据加载、模型构建、训练测试全流程,包括自定义神经网络、定义损失函数和优化器、编写训练循环等关键步骤。最后提供了模型预测的实战示例,并总结了常见问题解决方案和进阶学习方向。全文采用通俗语言和可运行代码,帮助读者

2403_88453488的博客 2929

【深度学习】:《PyTorch入门到项目实战》基础篇1-2:从零实现线性回归(附Pytorch代码)

==线性回归==是机器学习中非常常用的模型之一,特别在研究定量数据的问题中,它能分析变量之间的关系,并给出很好的解释。此外,它还是新方法的一个良好起点:许多有趣的统计学习方法可以被视为线性回归的推广或扩展。例如`Lasso回归`,`岭回归`,`logistic regression`,`softmax回归`。本文通过Pytorch实现线性回归

阿里云专家博主、数据科学领域优质创作者、统计er在读 1万+

pytorch开发基础 实操用torch.nn构建神经网络(附代码)

本文介绍了PyTorch中构建神经网络的核心组件和使用方法。主要内容包括:1) torch.nn模块的核心组件(层、损失函数、工具等)及其应用;2) 优化器torch.optim的使用;3) 训练、验证和测试的完整流程;4) 通过单层感知机实现二分类任务的实操示例。文章详细讲解了如何利用PyTorch内置模块构建神经网络模型,包括模型定义、损失函数选择、优化器配置以及训练过程的关键步骤,并提供了完整的代码实现和运行结果。

2501_93625077的博客 1337

【深度学习】:《PyTorch入门到项目实战》基础篇1-3:简洁代码实现线性神经网络(附Pytorch代码)

在上一节我们学习了如何使用pytorch从零实现一个线性回归模型。包括生成数据集,构建损失函数,==梯度下降==优化求解参数等。和很多其他机器学习框架一样,pytorch中也包含了许多可以自动实现机器学习的包。本章介绍一些如何使用`nn`简便的实现一个线性回归模型

阿里云专家博主、数据科学领域优质创作者、统计er在读 1万+

pytorch生成对抗网络GAN的基础教学简单实例(附代码数据集)

这篇文章主要是介绍了使用pytorch框架构建生成对抗网络GAN来生成虚假图像的原理与简单实例代码。数据集使用的是开源人脸图像数据集img_align_celeba,共1.34G。生成器与判别器模型均采用简单的卷积结构,代码参考了pytorch官网。

Lizhi_Tech的博客 5972

PyTorch池化层实战:从基础到自适应(附逐行代码解析)

本文详细解析了PyTorch中池化层的实战应用,包括最大值池化、平均值池化和自适应最大值池化等核心方法。通过逐行代码示例和效果对比,帮助开发者掌握如何在不同场景下选择合适的池化策略,优化神经网络性能并提升特征提取效率。

weixin_29098367的博客 238
上一篇: 基于pytorch实现手写数字识别(附python代码)
下一篇: pytorch实现GAN(附代码)
竹篓有个天
博客等级 码龄9年 6431粉丝 88原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值