摘要: model.train()和model.eval()用法 1.1 model.train() model.train()的作用是启用 Batch Normalization 和 Dropout。 如果模型中有BN层(Batch Normalization)和Dropout,需要在训练时添加model 阅读全文
posted @ 2022-03-09 17:21 Tomorrow1126 阅读(1356) 评论(0) 推荐(0) 编辑
摘要: 一、resnet18整体网络结构 我们观察,实际可以将ResNet18分成6个部分: 1. Conv1:也就是第一层卷积,没有shortcut机制。 2. Conv2:第一个残差块,一共有2个。 3. Conv3:第二个残差块,一共有2个。 4. Conv4:第三个残差块,一共有2个。 5. Con 阅读全文
posted @ 2022-03-09 17:00 Tomorrow1126 阅读(2002) 评论(0) 推荐(0) 编辑
摘要: 为了方便进行数据的操作,pytorch团队提供了一个torchvision.transforms包,我们可以用transforms进行以下操作: PIL.Image/numpy.ndarray与Tensor的相互转化; 归一化; 对PIL.Image进行裁剪、缩放等操作。 通常,在使用torchvi 阅读全文
posted @ 2022-03-09 15:48 Tomorrow1126 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 1.论文:Gradient-Based Learning Applied to Document Recognition 2.网络结构: LeNet包括7个layers(不包括Input),Fig 1中的C、S和F分别指卷积层、下采样层(池化层)和全连接层,其后所跟随的数字1-6指所在层的索引位置。 阅读全文
posted @ 2022-03-09 15:28 Tomorrow1126 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 1.下采样是缩小图像,英文是subsampled或者downsampled;上采样是放大图像,英文是upsampling 2.池化层是当前卷积神经网络中常用组件之一,它最早见于LeNet一文,称之为Subsample。自AlexNet之后采用Pooling命名。池化层是模仿人的视觉系统对数据进行降维 阅读全文
posted @ 2022-03-09 15:23 Tomorrow1126 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2022-03-09 14:17 Tomorrow1126 阅读(36) 评论(0) 推荐(0) 编辑
摘要: https://blog.csdn.net/qq_27825451/article/details/90550890这个链接超级详细! class NeuralNet(nn.Module): pytorch中其实一般没有特别明显的Layer和Module的区别,不管是自定义层、自定义块、自定义模型, 阅读全文
posted @ 2022-03-09 14:04 Tomorrow1126 阅读(151) 评论(0) 推荐(0) 编辑
摘要: Tensor总结 (1)Tensor 和 Numpy都是矩阵,区别是前者可以在GPU上运行,后者只能在CPU上; (2)Tensor和Numpy互相转化很方便,类型也比较兼容 (3)Tensor可以直接通过print显示数据类型,而Numpy不可以 阅读全文
posted @ 2022-03-09 11:42 Tomorrow1126 阅读(805) 评论(0) 推荐(0) 编辑
摘要: 一、.to(device) 可以指定CPU 或者GPU device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") # 单GPU或者CPU model.to(device) #如果是多GPU if torch.cud 阅读全文
posted @ 2022-03-09 11:38 Tomorrow1126 阅读(350) 评论(0) 推荐(0) 编辑
摘要: torch.device代表将torch.Tensor分配到的设备的对象,有cpu和cuda两种,这里的cuda就是gpu,至于为什么不直接用gpu与cpu对应,是因为gpu的编程接口采用的是cuda print(torch.cuda.is_available()) #cuda是否可用; print 阅读全文
posted @ 2022-03-09 11:04 Tomorrow1126 阅读(287) 评论(0) 推荐(0) 编辑
摘要: https://www.runoob.com/python/att-string-format.html print('{} {}'.format("name","gender")) print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www. 阅读全文
posted @ 2022-03-09 11:02 Tomorrow1126 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 在pytorch中,tensor有一个requires_grad参数,如果设置为True,则反向传播时,该tensor就会自动求导。tensor的requires_grad的属性默认为False,若一个节点(叶子变量:自己创建的tensor)requires_grad被设置为True,那么所有依赖它 阅读全文
posted @ 2022-03-09 10:52 Tomorrow1126 阅读(74) 评论(0) 推荐(0) 编辑
摘要: correct+=(predicted==labels).sum() 一、Python自带sum() sum(iterable[, start]):iterable——可迭代对象,如:list、tuple、set等;start——固定相加的参数,默认为0。 sum([0, 1, 2]) -- > 3 阅读全文
posted @ 2022-03-09 10:49 Tomorrow1126 阅读(604) 评论(0) 推荐(0) 编辑
摘要: 一、_, predicted = torch.max(outputs.data, 1) 那么,这里的 下划线_ 表示什么意思? 首先,torch.max()这个函数返回的是两个值,第一个值是具体的value(我们用下划线_表示),第二个值是value所在的index(也就是predicted)。 那 阅读全文
posted @ 2022-03-09 10:34 Tomorrow1126 阅读(976) 评论(0) 推荐(0) 编辑
摘要: size()函数主要是用来统计矩阵元素个数,或矩阵某一维上的元素个数的函数。 参数numpy.size(a, axis=None)a:输入的矩阵axis:int型的可选参数,指定返回哪一维的元素个数。当没有指定时,返回整个矩阵的元素个数。 >>> a = np.array([[1,2,3],[4,5 阅读全文
posted @ 2022-03-09 10:27 Tomorrow1126 阅读(764) 评论(0) 推荐(0) 编辑