人工智能
文章平均质量分 69
机器学习人工智能相关
贱贱的剑
计算机专业硕士研究生、操作系统与Linux内核开发,应用开发,喜欢研究Linux系统的各种疑难杂症。。。
展开
-
使用DALI模块加速
官方文档:https://docs.nvidia.com/deeplearning/dali/user-guide/docs/installation.html一、安装TIPS: 我的版本是CUDA 11.4,我安装的是11.0版本的,没啥影响1.cuda10.2pip install --extra-index-url https://developer.download.nvidia.com/compute/redist --upgrade nvidia-dali-cuda102 2.原创 2021-12-31 18:03:40 · 2607 阅读 · 0 评论 -
ResNet网络搭建
一、框架表二、代码定义1.定义18,34层残差结构class BasicBlock(nn.Module): expansion = 1 #定义主分支残差卷积核个数有没有发生变化 def __init__(self, in_channel, out_channel, stride = 1, downsample = None): super(BasicBlock,self).__init__() self.conv1 = nn.Conv2d(in_c原创 2021-10-18 16:54:24 · 504 阅读 · 4 评论 -
tensorrt遇到torch.bmm的解决
一、问题说明使用tensorrt进行加速的时候,遇到需要自已定义torch.bmm进行替换。二、打到安装torch2trt所在目录,例如我的在opt/conda/lib/python3.7/site-packages/torch2trt-0.3.0-py3.7-linux-x86_64.egg/原创 2021-09-28 11:57:54 · 891 阅读 · 0 评论 -
KL散度,交叉熵
一、前言在机器学习的论文里,KL散度是一个很常见的概念,但自己对这一概念总是很模糊,因此遍查资料做一总结。二、信息熵 /=\mathrlap{\,/}{=}/=原创 2021-05-12 09:54:24 · 224 阅读 · 1 评论 -
学习人工智能
推荐一个学习人工智能的绝佳平台,“床长人工智能”,该教程从最基础的概念开始讲起,以通俗易懂的语言让你明白底层原理,绝对是学习人工智能的不二之选。随机截取一些目录链接原创 2021-05-04 09:40:06 · 171 阅读 · 0 评论 -
如何显示经过Normalize的图像数据
我们将过行归一化的图片数据显示出来后会发现不是正常的图片。因此需要进行反归一化操作。当我们需要将Normalize之后的图片显示出来的时间,如果数字相同还好,否则很是麻烦。经过研究了一番之后写出了一个比较通用的方法。如下比如ImageNet的数据Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])]。进行下如操作import matplotlib.pyplot as pltdef inverse_normalize(batch_image,原创 2021-04-24 16:54:49 · 2535 阅读 · 2 评论 -
如何打印Pytorch中Sequential包装的中间层的大小
题目引入为了方便,我们用Sequential定义一个卷积神经网络中,例如 self.fc = nn.Sequential( nn.Upsample(scale_factor=2,mode='nearest'), nn.Conv2d(512,512,3,1,1,bias=False), nn.BatchNorm2d(512), nn.ReLU(True), …………那么我们如何查看诸如nn.Conv.原创 2021-04-21 12:05:38 · 1232 阅读 · 2 评论 -
Pytorch分布式编程
当我们拥有多块显卡时,可以使用并行计算来加速,Pytorch并行计算总要用DataParallel和DistributedDataParallel两种,前者主要应用于单机多卡的情况,而后者可以应用于单机多卡和多机多卡。由于作者资源有限,因此只能用单机多卡来做总结。这里有详细的并行计算说明。下面这张官方截图也详细说明了为什么DistributedDataParallel优于DataParallel。一、使用DataParallel参考文档:https://pytorch.org/tutorials原创 2021-04-11 11:23:53 · 1060 阅读 · 0 评论 -
MatPlotLib实践编程(二)
一、简单的例子本文课pyplot风格,pyplot风格通常不如面向对象编程灵活。在这里看到的大多数函数调用也可以作为Axes对象的方法调用。我们建议浏览tutorials和例程来了解它是如何工作的。参考教程:https://matplotlib.org/stable/tutorials/introductory/pyplot.html使用pyplot可以方便的产生可视化图像import matplotlib.pyplot as pltplt.plot([3, 8, 2, 9])plt.yla原创 2021-03-30 09:53:15 · 603 阅读 · 3 评论 -
MatPlotLib实践编程(一)
一、说明1.1 学习背景在机器学习的学习过程中要用到matplotlib进行画图来显示统计数据,因此这让我必须要学习他。打算从官方文档做为学习引导,在学习完最基础的内容后秉承用到什么学什么即可。1.2 参考从官方手册开始。二、使用指南1. 一个简单的例子创建数轴并在上面描些点import matplotlib.pyplot as pltimport numpy as npfig, ax = plt.subplots() # Create a figure containing a s原创 2021-03-29 20:38:42 · 245 阅读 · 2 评论 -
TensorBoard可视化进阶教程
一、说明在上一篇的基础教程中我们知道了如何查看训练过程中的loss以及精度曲线,本节我们研究更多的显示中间过程。参考:https://pytorch.org/docs/stable/tensorboard.html二、材料准备1.定义网络这里采用AlexNet网络并稍加改动做为研究对象。import torchimport torch.nn as nnclass AlexNet(nn.Module): def __init__(self, num_classes=10):原创 2021-03-29 16:46:31 · 314 阅读 · 0 评论 -
TensorBoard可视化基础教程
一、说明我最常用的是使用TensorBoard观察loss以及准确度曲线,在此基础版本里只进行这两类曲线的编写说明。二、代码编写from torch.utils.tensorboard import SummaryWriter #导入必须的包writer = SummaryWriter("runs/test") #创建文件写入目录,即在当前目录下创建runs/test目录,以后的内容都写到test目录里以上简单的两个即可完成tensorboard的初始化工作,原创 2021-03-25 22:30:58 · 1351 阅读 · 2 评论 -
deep learning笔记:学习率衰减与批归一化
文章出处:https://gsy00517.github.io/deep-learning20191001151454/ 一段时间之前,在一个深度学习交流群里看到一个群友发问:为什么他的训练误差最后疯狂上下抖动而不是一直降低。作为一个很萌的萌新,我当时也很疑惑。但后来我结合所学,仔细思考之后,发现这是一个挺容易犯的错误References:电子文献:https://blog.csdn.net/bestrivern/article/details/86301619https://w...转载 2021-03-22 21:57:34 · 618 阅读 · 0 评论