
pytorch
文章平均质量分 75
小风_
致力于严谨、有趣的AI算法
展开
-
PyTorch Lightning教程五:Debug调试
如果遇到了这样一个问题,当一次训练模型花了好几天,结果突然在验证或测试的时候崩掉了,这个时候其实是很奔溃的,主要还是由于没有提前知道哪些时候会出现什么问题,本节会引入Lightning的Debug方案。原创 2023-08-02 23:33:36 · 2525 阅读 · 0 评论 -
PyTorch Lightning教程四:超参数的使用
如果需要和命令行接口进行交互,可以使用Python中的argparse包,快捷方便,对于Lightning而言,可以利用它,在命令行窗口中,直接配置超参数等操作,但也可以使用LightningCLI的方法,更加轻便简单。原创 2023-07-28 18:35:56 · 2499 阅读 · 1 评论 -
PyTorch Lightning教程三:迁移学习
介绍:本期介绍Lightning的迁移学习。原创 2023-07-26 18:29:35 · 958 阅读 · 1 评论 -
PyTorch Lightning教程一:快速训练一个基础模型
PyTorch Lightning教程原创 2023-07-24 16:15:18 · 2363 阅读 · 0 评论 -
PyTorch Lightning教程二:验证、测试、checkpoint、早停策略
介绍:上一期介绍了如何利用PyTorch Lightning搭建并训练一个模型(仅使用训练集),为了保证模型可以泛化到未见过的数据上,数据集通常被分为训练和测试两个集合,测试集与训练集相互独立,用以测试模型的泛化能力。本期通过增加验证和测试集来达到该目的,同时,还引入checkpoint和早停策略,以得到模型最佳权重。相关链接:https://lightning.ai/docs/pytorch/stable/levels/basic_level_2.html。原创 2023-07-25 11:46:14 · 6612 阅读 · 0 评论 -
PyTorch量化实践(2)
量化是一种廉价而简单的方法,可以使深度神经网络模型运行得更快,并具有更低的内存需求。PyTorch提供了几种量化模型的不同方法。在这篇博客文章中,我们将(快速)为深度学习中的量化奠定基础,然后看看每种技术在实践中是怎样的。最后,我们将以文献中关于在工作流程中使用量化的建议作为结束。原创 2022-06-01 17:19:55 · 1526 阅读 · 0 评论 -
PyTorch量化实践(1)
翻译来源https://pytorch.org/blog/quantization-in-practice/量化是一种廉价而简单的方法,可以使深度神经网络模型运行得更快,并具有更低的内存需求。PyTorch提供了几种量化模型的不同方法。在这篇博客文章中,我们将(快速)为深度学习中的量化奠定基础,然后看看每种技术在实践中是怎样的。最后,我们将以文献中关于在工作流程中使用量化的建议作为结束。量化原理如果有人问你几点了,你不会回答“10:14:34:430705”,而会说“10点过一刻”。量化本质.原创 2022-05-27 14:41:41 · 1440 阅读 · 0 评论 -
PyTorch 模型剪枝实例教程三、多参数与全局剪枝
目录1.导包&定义一个简单的网络2.多参数剪枝3.全局剪枝4.总结目前大部分最先进的(SOTA)深度学习技术虽然效果好,但由于其模型参数量和计算量过高,难以用于实际部署。而众所周知,生物神经网络使用高效的稀疏连接(生物大脑神经网络balabala啥的都是稀疏连接的),考虑到这一点,为了减少内存、容量和硬件消耗,同时又不牺牲模型预测的精度,在设备上部署轻量级模型,并通过私有的设备上计算以保证隐私,通过减少参数数量来压缩模型的最佳技术非常重要。稀疏神经网络在预测精度方面可以达到密集神经网络的水平,原创 2022-04-22 20:17:29 · 1896 阅读 · 0 评论 -
PyTorch 模型剪枝实例教程二、结构化剪枝
目录1.导包&定义一个简单的网络2.获取网络需要剪枝的模块3.模块结构化剪枝(核心)4.总结目前大部分最先进的(SOTA)深度学习技术虽然效果好,但由于其模型参数量和计算量过高,难以用于实际部署。而众所周知,生物神经网络使用高效的稀疏连接(生物大脑神经网络balabala啥的都是稀疏连接的),考虑到这一点,为了减少内存、容量和硬件消耗,同时又不牺牲模型预测的精度,在设备上部署轻量级模型,并通过私有的设备上计算以保证隐私,通过减少参数数量来压缩模型的最佳技术非常重要。稀疏神经网络在预测精度方面可原创 2022-04-22 17:43:59 · 6240 阅读 · 0 评论 -
PyTorch 模型剪枝实例教程一、非结构化剪枝
目录1.导包&定义一个简单的网络2.获取网络需要剪枝的模块3.模块剪枝(核心)4.总结目前大部分最先进的(SOTA)深度学习技术虽然效果好,但由于其模型参数量和计算量过高,难以用于实际部署。而众所周知,生物神经网络使用高效的稀疏连接(生物大脑神经网络balabala啥的都是稀疏连接的),考虑到这一点,为了减少内存、容量和硬件消耗,同时又不牺牲模型预测的精度,在设备上部署轻量级模型,并通过私有的设备上计算以保证隐私,通过减少参数数量来压缩模型的最佳技术非常重要。稀疏神经网络在预测精度方面可以达到原创 2022-04-22 15:13:37 · 4888 阅读 · 0 评论 -
PyTorch中的一些常见数据类型转换方法,与list和np.ndarray的转换方法
目录0.导包1.tensor类型转换2.tensor和list转换3.tensor和np.ndarray转换4.图像tensor和图像ndarray转换,tensor -> cv25.cv2(ndarray)与PIL之间的转换0.导包import torchimport numpy as npimport PIL1.tensor类型转换# 设置Torch默认类型torch.set_default_tensor_type(torch.FloatTensor)# CPU原创 2022-04-20 11:32:03 · 1684 阅读 · 0 评论 -
5种方法获取Torch网络模型参数量计算量等信息
目录模型参数量和计算量是什么为什么要统计模型参数量和计算量常见的模型参数量和计算量的计算方法代码方法1,利用torch自带方法,自写函数方法2,torchsummary.summary方法3 torchstat.stat方法4 thop.profile方法5 ptflops.get_model_complexity_info模型参数量和计算量是什么计算量是指网络模型需要计算的运算次数,参数量是指网络模型自带的参数数量多少计算量对应时间复杂度,参数量对应于空间复杂度计算量决定了网络执行时间的长短,参原创 2022-04-19 16:17:21 · 34746 阅读 · 10 评论 -
PyTorch训练一个网络的基本流程5步法
step1. 加载数据step2. 定义网络step3. 定义损失函数和优化器step4. 训练网络,循环4.1到4.6直到达到预定epoch数量– step4.1 加载数据– step4.2 初始化梯度– step4.3 计算前馈– step4.4 计算损失– step4.5 计算梯度– step4.6 更新权值step5. 保存权重# 训练一个分类器import torchvision.datasetsimport torch.utils.dataimport torch.原创 2022-03-05 21:26:57 · 3171 阅读 · 0 评论 -
torch_geometric学习一,MessagePassing
安装版本# for windows10pip install torch==1.2.0 # 10.0 cuda 单卡GTX1660pip install torch_geometric==1.4.1pip install torch_sparse==0.4.4pip install torch_scatter==1.4.0pip install torch_cluster==1.4.5torch_geometricdebug模式with torch_geometric.debug():原创 2021-10-26 20:12:12 · 1825 阅读 · 2 评论 -
利用官方torch版GCN训练并测试cora数据集
cora数据集Cora数据集由2708份论文名称,及对应的特征向量组成,分成了七大类,分别是,Case_Based、Genetic_Algorithms、Neural_Networks、Probabilistic_Methods、Reinforcement_Learning、Rule_Learning、Theory。特征向量由1433个独特的单词组成,由01值描述,表示论文中这些单词的频数是否小于10,小于为0,大于为1。该数据集中,每一篇论文至少引用了该数据集里面另外一篇论文或者被另外一篇论文引用。数原创 2021-10-25 16:41:26 · 2958 阅读 · 2 评论 -
torch.mm() torch.sparse.mm() torch.bmm() torch.mul() torch.matmul()的区别
目录torch.mm()torch.sparse.mm()torch.bmm()torch.mul()torch.matmul()总结torch.mm()二维矩阵的乘法,假设输入矩阵mat1维度是(m×n)(m×n)(m×n),矩阵mat2维度是(n×p)(n×p)(n×p),则输出维度为(m×p)(m×p)(m×p),只能是二维的mat1 = torch.randn(2, 3)mat2 = torch.randn(3, 3)out = torch.mm(mat1, mat2)原创 2021-10-11 20:14:13 · 7212 阅读 · 2 评论 -
PyTorch最佳实践和代码编写风格指南
目录建议使用Python 3.6+Python风格指南之梗概命名规范IDEs代码编辑器设置VS Code与远程机器一起工作设置PyCharm与远程机器一起工作Jupyter Notebook vs Python 脚本Libraries包文件组织在PyTorch中构建神经网络Pytorch一个简单案例PyTorch带有跳跃连接的网络PyTorch中具有多个输出的网络自定义Loss推荐用于训练模型的代码结构PyTorch在多卡进行训练分解每个网络的批量输入将所有网络打包在一个*super*网络中,并拆分输入批处原创 2021-10-09 16:28:09 · 1359 阅读 · 0 评论 -
CNN网络模型大总结【持续更新中...】
本文将总结从LeNet5开始到现在,具有代表性或具有创新意义的CNN网络模型架构。本文特点是,一、总结内容非常精简,不详细,适于想快速了解的人进行阅读;二、附带有相关网络图,来源于论文或网络,直观不枯燥;三、附带论文链接地址,需要详细学习该网络的人可直接点开下载;四、附带pytorch代码实现,代码来源于网络或自己写…目录LeNet5网络结构解析Pytorch实现AlexNet网络结构解析创新点Pytorch实现VGG网络结构解析创新点:Pytorch实现NiN网络结构解析创新点Pytorch.原创 2020-07-17 10:28:06 · 6408 阅读 · 1 评论 -
torch.nn文档学习总结
torch.nn,是torch框架神经网络包,内含有容器、卷积、池化、激活函数等数种相关函数和类,是torch学习过程中必经的一条路目录1.容器2.卷积层3.池化层4.填充层5.激活层6.归一化层7.循环层8.线性网络层9.稀疏层10.距离函数11.损失函数12.其他(视觉相关)参考资料1.容器容器可分为Module,Sequential,ModuleList,ModuleDict,ParameterList ,ParameterDictModule''' 1.nn.Module,神经.原创 2020-09-06 17:07:32 · 638 阅读 · 0 评论