1. Python中.format()常见的用法:
format()后面的内容,填入大括号中(可以按位置,或者按变量);
format():把传统的%替换为{}来实现格式化输出。
详细见:https://www.cnblogs.com/jc-home/p/11630710.html
2. 神经网络模型(Backbone):
自己搭建神经网络时,一般都采用已有的网络模型,在其基础上进行修改。从2012年的AlexNet出现,如今已经出现许多优秀的网络模型,如下图所示。 主要有三个发展方向:
Deeper:网络层数更深,代表网络VggNet
Module: 采用模块化的网络结构(Inception),代表网络GoogleNet
Faster: 轻量级网络模型,适合于移动端设备,代表网络MobileNet和ShuffleNet
Functional: 功能型网络,针对特定使用场景而发展出来。如检测模型YOLO,Faster RCNN;分割模型FCN, UNet
具体介绍:https://www.cnblogs.com/silence-cho/p/11620863.html
3. del是python关键字,就像def、and、or一样。它不是字典、列表的方法,但是可以用来删除字典、列表的元素。
4. from module import name,python种的模块、库、包
5. on.environ获取系统的各种信息
6. NCCL_IB_DISABLE是什么?参考:https://baijiahao.baidu.com/s?id=1581386178946489641&wfr=spider&for=pc
①NCCL是什么?NVIDIA/nccl(https://github.com/NVIDIA/nccl)
Nvidia英伟达的Multi-GPU多卡通信框架NCCL。NCCL是Nvidia Collective multi-GPU Communication Library的简称,它是一个实现多GPU的collective communication通信(all-gather, reduce, broadcast)库,Nvidia做了很多优化,以在PCIe、Nvlink、InfiniBand上实现较高的通信速度。
深度学习中常常需要多GPU并行训练,而Nvidia的NCCL库在各大深度学习框架(Caffe/Tensorflow/Torch/Theano)的多卡并行中经常被使用。
②NCCL的性能参数:
https://blog.csdn.net/yunlianglinfeng/article/details/105088324
NCCL_IB_DISABLE为1时禁止使用ib设备
7. Gloo-项目地址:https://github.com/facebookincubator/gloo
是一个类似MPI的通信库,你不需要考虑内存数据的拷贝,只需要实现逻辑就可以。
初始化
torch.distributed.init_process_group(backend, init_method='env://', **kwargs)
参数说明:
backend(str): 后端选择,包括上面那几种 tcp mpi gloo
init_method(str,optional): 用来初始化包的URL我理解是一个用来做并发控制的共享方式
world_size(int, optional):参与这个工作的进程数
rank(int,optional): 当前进程的rank
group_name(str,optional): 用来标记这组进程名的
参考:https://blog.csdn.net/u010557442/article/details/79431520
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。