06 2020 档案

摘要:说明 在python中处处皆对象,那么具体细分又可以分为可变类型和不可变类型对象,今天来详细讨论一下。 is 和 == 的区别 先提前说一下is和==的区别以帮助理解。 is是判断两者是否属于同一内存,即id(a) == id(b).而等于则是通过比较两个值的大小是否相同。以下是例子: a = 'h 阅读全文
posted @ 2020-06-30 16:10 wildkid1024 阅读(255) 评论(0) 推荐(0) 编辑
摘要:说明 python的进阶用法之一就是生成器、迭代器的用法,使用生成迭代可以极大地减少代码的行数,使得代码简明易读。 列表生成式 range(1,100,5) #第一个参数表示开始位,第二个参数表示结束位(不含),第三个参数表示步长,就是每5个数返回一次。 a = [i for i in range( 阅读全文
posted @ 2020-06-30 13:14 wildkid1024 阅读(272) 评论(0) 推荐(0) 编辑
摘要:说明: 笔者在python编程中遇到的python问题集合。 AttributeError: module 'os' has no attribute 'fork' 解决方案: os.fork不能直接在win上使用,代替方案multiproessing from multiprocessing im 阅读全文
posted @ 2020-06-29 18:40 wildkid1024 阅读(312) 评论(0) 推荐(0) 编辑
摘要:说明 在前面讲模型加载和保存的时候,在多GPU情况下,实际上是挖了坑的,比如在多GPU加载时,GPU的利用率是不均衡的,而当时没详细探讨这个问题,今天来详细地讨论一下。 问题 在训练的时候,如果GPU资源有限,而数据量和模型大小较大,那么在单GPU上运行就会极其慢的训练速度,此时就要使用多GPU进行 阅读全文
posted @ 2020-06-17 23:46 wildkid1024 阅读(3361) 评论(0) 推荐(0) 编辑
摘要:说明 模型裁剪可分为两种,一种是稀疏化裁剪,裁剪的粒度为值级别,一种是结构化裁剪,最常用的是通道裁剪。通道裁剪是减少输出特征图的通道数,对应的权值是卷积核的个数。 问题 通常模型裁剪的三个步骤是:1. 判断网络中不重要的通道 2. 删减掉不重要的通道(一般不会立即删,加mask等到评测时才开始删) 阅读全文
posted @ 2020-06-09 00:08 wildkid1024 阅读(1953) 评论(0) 推荐(0) 编辑
摘要:说明 在DeeCamp2019的时候,有去申请,但当时忙着其他的事情,没有好好做笔试,于是后面就被筛掉了。后面听说也有其他同学被捞的,但可能我简历上没啥东西,出身又不好,所以就pass了。 今年又申请了一次,不知道是不是因为疫情的原因,今年没了笔试环节,直接投递简历加面试。我投的是算力和算符约束下的 阅读全文
posted @ 2020-06-04 21:21 wildkid1024 阅读(456) 评论(0) 推荐(0) 编辑
摘要:说明 在模型训练的时候,往往使用的是多GPU的环境;但是在模型验证或者推理阶段,往往使用单GPU甚至CPU进行运算。那么中间有个保存和加载的过程。下面来总结一下。 多GPU进行训练 首先设置可见的GPU数量,有两种方式可以声明: 在shell脚本中声明: export CUDA_VISIBLE_DE 阅读全文
posted @ 2020-06-01 15:13 wildkid1024 阅读(4944) 评论(0) 推荐(1) 编辑

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