随笔分类 -  pytorch

摘要:使用DataParallel进行并行化时的结构如下: 在上图第一行第四个步骤中,GPU-1 其实汇集了所有 GPU 的运算结果。这个对于多分类问题还好,但如果是自然语言处理模型就会出现问题,导致 GPU-1 汇集的梯度过大,直接爆掉。 那么就要想办法实现多 GPU 的负载均衡,方法就是让 GPU-1 阅读全文
posted @ 2019-12-09 14:21 outthinker 阅读(4148) 评论(0) 推荐(0) 编辑
摘要:Linux下,使用pytorch有时候会出现占用过多CPU资源的问题(占用过多线程),解决方法如下: 法一、torch.set_num_threads(int thread) (亲测比较有效) 法二、export OMP_NUM_THREADS = 1 (未测) 阅读全文
posted @ 2019-12-02 11:29 outthinker 阅读(4863) 评论(0) 推荐(0) 编辑
摘要:以下面这个例子作为教程,实现功能是element-wise add; (pytorch中想调用cuda模块,还是用另外使用C编写接口脚本) 第一步:cuda编程的源文件和头文件 第二步:C编程的源文件和头文件(接口函数) 第三步:编译,先编译cuda模块,再编译接口函数模块(不能放在一起同时编译) 阅读全文
posted @ 2019-11-18 16:44 outthinker 阅读(5435) 评论(0) 推荐(0) 编辑
摘要:pytorch中调用C进行扩展,使得某些功能在CPU上运行更快; 第一步:编写头文件 第二步:编写源文件 注意:头文件TH就是pytorch底层代码的接口头文件,它是CPU模式,GPU下则为THC; 第三步:在同级目录下创建一个.py文件(比如叫“build.py”) 该文件用于对该C扩展模块进行编 阅读全文
posted @ 2019-11-14 15:15 outthinker 阅读(1626) 评论(0) 推荐(0) 编辑
摘要:(1)如果tensor只有一个元素,然后转换成int或者float类型的时候直接用int()或者float()就可以了; (2)如果tensor含有多个元素,转换成ndarray时就要用x.detach().numpy()操作了(视情况使用,cpu()); 阅读全文
posted @ 2019-08-16 17:07 outthinker 阅读(1913) 评论(0) 推荐(0) 编辑
摘要:一般的,默认的collate_fn函数是要求一个batch中的图片都具有相同size(因为要做stack操作),当一个batch中的图片大小都不同时,可以使用自定义的collate_fn函数,则一个batch中的图片不再被stack操作,可以全部存储在一个list中,当然还有对应的label,如下面 阅读全文
posted @ 2019-08-15 21:06 outthinker 阅读(11051) 评论(0) 推荐(1) 编辑
摘要:有的时候需要我们通过一定机制来调整学习率,这个时候可以借助于torch.optim.lr_scheduler类来进行调整;一般地有下面两种调整策略:(通过两个例子来展示一下) 两种机制:LambdaLR机制和StepLR机制; (1)LambdaLR机制: optimizer_G = torch.o 阅读全文
posted @ 2019-07-29 11:24 outthinker 阅读(29555) 评论(0) 推荐(0) 编辑
摘要:关于迭代器等概念参考:https://www.cnblogs.com/zf-blog/p/10613533.html 关于pytorch中的DataLoader类参考:https://blog.csdn.net/u014380165/article/details/79058479(写的蛮好) 现在 阅读全文
posted @ 2019-03-28 11:33 outthinker 阅读(5787) 评论(0) 推荐(0) 编辑
摘要:参考链接:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143178254193589df9c612d2449618ea460e7a672a366000?tdsourceta 阅读全文
posted @ 2019-03-28 10:55 outthinker 阅读(4841) 评论(1) 推荐(2) 编辑
摘要:参考链接:http://www.voidcn.com/article/p-fsdktdik-bry.html 该pin_memory参数与锁页内存、不锁页内存以及虚拟内存三个概念有关; 锁页内存理解(pinned memory or page locked memory):https://blog. 阅读全文
posted @ 2019-03-28 10:13 outthinker 阅读(4986) 评论(0) 推荐(2) 编辑
摘要:记录一下pytorch如何进行单机多卡训练: 官网例程:https://pytorch.org/tutorials/beginner/blitz/data_parallel_tutorial.html 下面以一个例子讲解一下,例如现在总共有8张卡,在第5、6、7三张卡上进行训练; step 1:可视 阅读全文
posted @ 2019-03-26 12:17 outthinker 阅读(1105) 评论(0) 推荐(0) 编辑
摘要:caffe用起来太笨重了,最近转到pytorch,用起来实在不要太方便,上手也非常快,这里贴一下pytorch官网上的两个小例程,掌握一下它的用法: 例程一:利用nn 这个module构建网络,实现一个图像分类的小功能; 链接:http://pytorch.org/tutorials/beginne 阅读全文
posted @ 2017-11-06 11:43 outthinker 阅读(13084) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示