pytorch
pytorch相关博客内容
Charles.zhang
朝闻道,夕死可矣。路漫漫其修远兮,吾将上下而求索。
展开
-
pytorch错误解决:Missing key(s) in state_dict: Unexpected key(s) in state_dict:
在进行模型测试时报错:Missing key(s) in state_dict: xxxxxxxxxxUnexpected key(s) in state_dict:xxxxxxxxxx报错原因:在模型训练时有加上:【可以加速训练速度】model = nn.DataParallel(model)#cudnn.benchmark = True但是在模型测试推断时,在模型参数被加载到模型前没有加这句话,故报出上面的错误。解决:在模型参数被加载到模型前加下面的语句:..转载 2020-08-30 19:55:34 · 12209 阅读 · 1 评论 -
apex 安装/使用 记录
一、apex是什么:混合精度什么用:提升GPU上的训练速度GitHub:https://github.com/NVIDIA/apexAPI文档:https://nvidia.github.io/apex使用要求:Python 3CUDA 9 or newerPyTorch 0.4 or newer. The CUDA and C++ extensions require pytorch 1.0 or newer.推荐已发布的最新版本,见https://pytor.转载 2020-08-29 20:46:04 · 1624 阅读 · 1 评论 -
ImportError: No module named apex
调用了一个pytorch的项目,结果里面要用英伟达的apex,https://github.com/NVIDIA/apex看的有点不明白,好在有个网友建议也可以直接下载文件夹 importhttps://github.com/nvidia/apex#__NO_LINK_PROXY__或者直接git clone https://www.github.com/nvidia/apex 下载在当前项目目录下或者,比较难成功git clone https://www.github...转载 2020-08-29 19:52:17 · 1525 阅读 · 0 评论 -
pytorch torch.nn 实现上采样——nn.Upsample
Vision layers1)UpsampleCLASS torch.nn.Upsample(size=None, scale_factor=None, mode='nearest', align_corners=None)上采样一个给定的多通道的1D (temporal,如向量数据), 2D (spatial,如jpg、png等图像数据) or 3D (volumetric,如点云数据)数据假设输入数据的格式为minibatch x channels x [optional depth].转载 2020-08-19 19:31:33 · 22060 阅读 · 0 评论 -
torch.unsqueeze() 和 torch.squeeze()
1. torch.unsqueeze 详解torch.unsqueeze(input, dim, out=None)作用:扩展维度返回一个新的张量,对输入的既定位置插入维度 1注意:返回张量与输入张量共享内存,所以改变其中一个的内容会改变另一个。如果dim为负,则将会被转化dim+input.dim()+1参数: tensor (Tensor)– 输入张量 dim (int)– 插入维度的索引 out (Tensor, optional)– 结果张量import tor...转载 2020-08-19 09:46:11 · 4148 阅读 · 0 评论 -
torch.max()用法
版权声明:本文为CSDN博主「摇摆的果冻」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/Z_lbj/article/details/79766690torch.max(input) → Tensor返回输入tensor中所有元素的最大值a = torch.randn(1, 3)>>0.4729 -0.2266 -0.2085 torch.max(a)>>0.4729转载 2020-08-18 20:15:46 · 2086 阅读 · 0 评论 -
torch.nn.MaxPool2d
卷积操作中 pool层是比较重要的,是提取重要信息的操作,可以去掉不重要的信息,减少计算开销。class torch.nn.MaxPool2d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False)如果padding不是0,会在输入的每一边添加相应数目0 比如padding=1,则在每一边分别补0.参数: kernel_size(int or tuple) - .转载 2020-07-28 15:57:52 · 23947 阅读 · 1 评论 -
YOLOv5代码详解(common.py部分)
目录4. common.py4.1 卷积层4.1.1 深度分离卷积层4.1.1 标准卷积层4.2 标准Bottleneck4.3 BottleneckCSP4.4 SPP4.5 Flatten4.6 Focus4.7 Concat4. common.py该部分是backbone各个模块参数讲解。4.1 卷积层4.1.1 深度分离卷积层深度分离(DepthWise)卷积层,是GCONV的极端情况,分组数量等于输入通道数量,即每个通道作为一.转载 2020-07-26 11:28:17 · 8255 阅读 · 4 评论 -
YOLOv5代码详解(test.py部分)
目录2. test.py2.1 设置超参数2.2 设置任务(验证,测试,学习)2.3 测试函数2.3.1 初始化模型2.3.2 判断设备类型并仅使用一张GPU进行测试2.3.3 获取配置文件路径和文件参数2.3.4 数据获取2.3.5 计算map数据2.3.6 打印结果(图片,速度),保存结果至json,并返回结果2. test.py该部分主要用于运行train.py时,计算每个epoch的mAP。PS,与train.py相似的部分就不再阐述。2.转载 2020-07-26 10:59:28 · 8812 阅读 · 3 评论 -
Pytorch详解BCELoss和BCEWithLogitsLoss
BCELoss在图片多标签分类时,如果3张图片分3类,会输出一个3*3的矩阵。先用Sigmoid给这些值都搞到0~1之间:假设Target是:emmm应该是我上面每次都保留4位小数,算到最后误差越来越大差了0.0001。不过也很厉害啦哈哈哈哈哈!BCEWithLogitsLossBCEWithLogitsLoss就是把Sigmoid-BCELoss合成一步。我们直接用刚刚的input验证一下是不是0.7193:————————————————版权声明:转载 2020-07-26 09:38:29 · 5577 阅读 · 0 评论 -
pytorch分布式数据并行DistributedDataParallel(DDP)
DistributedDataParallel(DDP)在module级别实现数据并行性。它使用torch.distributed包communication collectives来同步梯度,参数和缓冲区。并行性在单个进程内部和跨进程均有用。在一个进程中,DDP将input module 复制到device_ids指定的设备,相应地按batch维度分别扔进模型,并将输出收集到output_device,这与DataParallel相似。Across processes, DDP inserts neces转载 2020-07-26 10:18:52 · 7436 阅读 · 0 评论