收藏 | 有没有什么可以节省大量时间的 Deep Learning 效率神器?
点上方蓝字计算机视觉联盟获取更多干货
在右上方 ··· 设为星标 ★,与你不见不散
仅作学术分享,不代表本公众号立场,侵权联系删除
转载于:链接:https://www.zhihu.com/question/384519338
编辑:深度学习与计算机视觉
AI博士笔记系列推荐
周志华《机器学习》手推笔记正式开源!可打印版本附pdf下载链接
作者:Fing
https://www.zhihu.com/question/384519338/answer/1160886439
最近发现的一个神库。
深度学习实验结果保存与分析是最让我头疼的一件事情,每个实验要保存对应的log,training curve还有生成图片等等,光这些visualization就需要写很多重复的代码。跨设备的话还得把之前实验的记录都给拷到新设备去。
wandb这个库真是深得我心,只要几行代码就可以把每一次实验打包保存在云端,而且提供了自家的可视化接口,不用每次都自己写一个logger,也省掉了import matplotlib, tensorboard等一大堆重复堆积的代码块。最关键的是,它是免费的:)
作者:jpzLTIBaseline
https://www.zhihu.com/question/384519338/answer/1196326124
关于实验管理,其他人的回答已经写得十分详细了。虽然我自己还是习惯直接Google Sheet然后在表格里的每一行记录【git commit hashcode】、【server name】、【pid】、【bash script to run exp】、【实验具体结果】、【notes】、【log position】、【ckpt position】,而且Google Sheet增加column以及合并格子用起来还是很flexible的。
这里我提一下其他方面的一些有助于提高效率的工具:
给自己的model起一个酷炫的缩写:http://acronymify.com/
现在越来越多的论文标题(尤其是Deep Learning方向)都是 [model缩写]: [正经论文题目] 的格式,而且一个朗朗上口的名字确实有助于记忆与传播。
写paper时候的用词搭配:https://linggle.com/
作为一个non-native speaker,写paper的时候词语搭配真是让人头秃。这个网站可以比较方便地找一些词语搭配。
手写/截图 转 LaTex公式:https://mathpix.com/
LaTex如果所有公式都要自己手打还是很痛苦的。(虽然很多时候一篇Deep Learning方向的paper公式数量只有十个左右(这还是在强行加上LSTM等被翻来覆去写烂的公式的情况下))
颜色搭配(色盲友好型):http://colorbrewer2.org/
这个网站不仅能很方便找到各种常用的 color schemes,而且都是 grayscale friendly and colorblind-friendly,对于paper里画图帮助比较大。
找前人paper的code:https://paperswithcode.com/
有的时候自己复现真是玄学,这个网站和搜索引擎 "[论文题目] site:http://github.com"配合使用即可。
文字转语音:https://cloud.google.com/text-to-speech
有的paper需要做一个video来介绍,对自己口语不是很有信心的话可以用G家的text2speech(这个领域Google应该是当之无愧的霸主),还能调节语速,非常贴心。
作者:一只火山
https://www.zhihu.com/question/384519338/answer/1574144370
MONAI 啊!真不是我给我们英伟达打广告,这个开源工具真的香,我自己天天用。
复现别人代码的时候最怕什么?最怕preprocessing啊!现在大家网络的代码都开源,但再开源,用在你自己的数据集上,你也得preprocessing。懒人不开心。
而MONAI就是拯救懒人的!轻轻松松,几行代码就解决了。
而且MONAI还专门为医学图像预设好了多种preprocessing and data augmentation。妈妈再也不用担心我读取NIfTI文件啦!下面这段代码,从读取文件到normalize,甚至crop ROI一条龙服务。而且这个库代码风格极好,看函数名就能猜到在干嘛。
真的,MONAI,搞医学图像的必须尝试!搞自然图像的也很方便!绝对效率神器!
作者:张骞晖
https://www.zhihu.com/question/384519338/answer/1154117461
都是鄙人的一些经验,不一定有用
(1) 个人经验就是一定要有自己的代码风格,代码仓库。
代码风格可以学习别人的,代码仓库可以上传到github上。
风格可以帮助你快速的实现改动自己的代码,复现Baseline。
写的好了,就可以传到github上,不断地更新,优化。尤其是
深度学习算法,保证可以快速的查询到。
(2) xshell每次连接服务器,可能都要配置一下运行环境, 比如 conda activate tf19, tf14,切到工作目录, 项目很多就会乱。
首先:我们可以再自己用户的 bashrc 建立别名 alias
比如:
alias ns='nvidia-smi'
alias TF19='conda activate TF19'
运行TF19就可以配置好TF环境。每次打开xshell,为了避免每次键入TF19
可以再Session->Properties->Login scripts, Send
加入TF19
对于工作目录,按照同样的步骤,即可。
对于每个工作环境,工作目录,我们都可以建立一个不同的Session。这样打开Session
之后,所有都会配置好了。而且,我们给Session命好名,方便区分。
(3)深度学习环境迁移
我们配置好的环境,如果切换到另外的服务器,可以使用
pip freeze > requirements.txt 得到配置文件。
这个配置文件,到了另外的服务器,可以使用
pip install -r requirements.txt
另外这个文件可以提交到github上,方便别人使用我们的项目。
相似的命令:conda list
(4)磁盘检查,服务器上跑程序难免把磁盘占满,造成程序停掉
可以利用shutil包,来得到所在磁盘的free space,然后传入挂载点即可。例如
def getFreeDisk(mount_point='/'):
total, used, free = shutil.disk_usage(mount_point)
return free // (2**30)
之后,我们可以利用assert
assert getFreeDisk(config.mount_point) > 100
如果小于100,程序会报错。当然也有其他写法。只要在磁盘还有free space之前
给出警告即可。
作者:取栗
https://www.zhihu.com/question/384519338/answer/1153464864
我猜应该会有人提的,就当我重复一下吧:
1.apex 半精度训练 https://github.com/apex/apex
2.ALI (亲测效果很好,用在训练上还是推理上都是效率神器)https://github.com/NVIDIA/DALI
3.ncnn 仅限于推理加速https://github.com/Tencent/ncnn
作者:Ironboy
https://www.zhihu.com/question/384519338/answer/1145476709
计算资源对效率太重要了,几块好一些的显卡能支持你迅速复现别人的工作,验证自己的想法是不是work,以及在通用数据集/比赛上快速迭代刷分
听过一个故事:一名社畜在实验室服务器上训了三个月的模型,各种调参准确率都一直上不去,然后尝试向老板申请租了几块百度云的高性能GPU,单单把batch size调高到128,准确率就唰的上去了,然后一篇CVPR paper诞生。
不说了,调参去了,ImageNet训了好几天,怎么还会把人分成了狗!
作者:Tommey
https://www.zhihu.com/question/384519338/answer/1190380101
上面的回答都是一些大神的经验,非常有用。作为一个早期新人来说,我谈一点个人的看法。我觉得入门早期来说有四个门槛,数据,算力、环境和源码。
一、数据
数据的收集和下载费时费力,而且有些时候一些国外的服务器还经常断线。
二、算力
GPU的加速性能大家应该都知道,这也是N卡这些年火爆的一个主要原因,但是相应的CPU和内存其实也是需要能够配套的。好马还要配好鞍。
三、环境
现在环境安装已经非常方便了,大部分的包用PIP就能解决。但是单机上版本冲突的问题也是很麻烦的,比如有的TF版本要求cuda版本是9,有的又要求是8。这些对于新手来说无疑是满头的包。
四、源码
大神们都说github上别人的源码,但是绝大部分的源码直接下载下来是很难跑起来的。
作为一个预算有限,而且是自己探索的DLer来说,这四道门槛哪一道都不容易过。自己跳过这些坑,花了不少精力和银子,也试用过谷歌的免费GPU(一小时会重重置一次),用过亚马逊的服务器和一些国内的GPU服务商的产品,总体而言感觉@街道口扛把子推荐的这个平台还不错。附上链接:街道口扛把子:推荐一个GPU资源租赁台https://zhuanlan.zhihu.com/p/59905068
作者:zhangxiaoyang
https://www.zhihu.com/question/384519338/answer/1159695551
1. 离线效率:balance/转移成本
搞多个GPU、更多更好的样本(可以是巨量app的日志、找多人标注、自己重点修正边界)、用别人训好的模型(或finetune)、借助规则解决一些明确问题等。
2. 在线效率:通用机制建设
通用的模型serving、复杂模型transfer到简单模型、方便的干预/实验机制。
3. 日常效率:一键脚本
把重复性的操作一键脚本化,就能大大提升效率了。
end
我是王博Kings,一名985AI博士,在Github上开源了机器学习、深度学习等一系列手推笔记,获得了不少同学的支持。
这是我的私人微信,还有少量坑位,可与相关学者研究人员交流学习
目前开设有人工智能、机器学习、计算机视觉、自动驾驶(含SLAM)、Python、求职面经、综合交流群扫描添加CV联盟微信拉你进群,备注:CV联盟
王博Kings 的公众号,欢迎关注,干货多多
王博Kings的系列手推笔记(附高清PDF下载):
博士笔记 | 周志华《机器学习》手推笔记第一章思维导图
博士笔记 | 周志华《机器学习》手推笔记第二章“模型评估与选择”
博士笔记 | 周志华《机器学习》手推笔记第三章“线性模型”
博士笔记 | 周志华《机器学习》手推笔记第四章“决策树”
博士笔记 | 周志华《机器学习》手推笔记第五章“神经网络”
博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(上)
博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(下)
博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(上)
博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(下)
博士笔记 | 周志华《机器学习》手推笔记第八章集成学习(上)
博士笔记 | 周志华《机器学习》手推笔记第八章集成学习(下)
博士笔记 | 周志华《机器学习》手推笔记第九章聚类
博士笔记 | 周志华《机器学习》手推笔记第十章降维与度量学习
博士笔记 | 周志华《机器学习》手推笔记第十一章特征选择与稀疏学习
博士笔记 | 周志华《机器学习》手推笔记第十二章计算学习理论(上)
博士笔记 | 周志华《机器学习》手推笔记第十二章计算学习理论(下)
博士笔记 | 周志华《机器学习》手推笔记第十三章半监督学习
博士笔记 | 周志华《机器学习》手推笔记第十四章概率图模型
点个在看支持一下吧
收藏 | 有没有什么可以节省大量时间的 Deep Learning 效率神器?相关推荐
- 有没有什么可以节省大量时间的 Deep Learning 效率神器?
链接:https://www.zhihu.com/question/384519338 编辑:深度学习与计算机视觉 声明:仅做学术分享,侵删 作者:Fing https://www.zhihu.com ...
- 4 个节省大量时间的 Deep Learning 效率神器
问题链接:https://www.zhihu.com/question/384519338,本文来自知乎问答,回答已获作者授权,禁止二次转载. 一.Fing https://www.zhihu.com ...
- 节省大量时间的 Deep Learning 效率神器
1. 每个实验保存完整config + wandb远程追踪 还在给model取巨长的文件名来记录其超参吗?out了.wandb可以把config和结果曲线同步云端供横向评比和查看.同步云端的代码: d ...
- 干货收藏!639页《深度学习:Deep Learning》图文并茂课程PPT
读博总是不容易,最近导师发给我一个深度学习的课程PPT,讲的太好了,图文并茂,是一门非常硬核的学习课程.作为笔记记录一下,同时付了下载链接方便大家一起学习 深度机器学习的最新发展使视觉识别.语音和文本 ...
- 核电集团数字化转型该怎么做?这篇案例分析帮你节省90%时间
当前,我国智能电网的最终目标是建设成为覆盖电力系统整个生产过程,包括发电.输电.变电.配电.用电及调度等多个环节的全景实时系统. 而支撑智能电网安全.可靠运行的基础是电网全景实时数据采集.传输和存储, ...
- python工程技巧_重点来了!掌握这些Python技巧,将给你节省大量时间
希望你们可以将这些技巧运用到项目中.尽管没有运行时的速度或性能优势,但是与从零开始实施此逻辑相比,这将为你节省大量时间.因此,言归正传,让我们来看这三点吧: 1.拉姆达函数(Lambda Functi ...
- 计算机二级有趣的圆锥,高考数学圆锥曲线常用二级结论帮你节省解题时间(精).pdf...
高考数学平圆锥曲线常用二级结论--帮你节省解题时间 高考数学平圆锥曲线常用二级结论--帮你节省解题时间 椭圆 椭圆 2 2 2 2 x a x y x a cos x y cosq ì q ì a b ...
- 节省 3/4 的设计时间:14个设计神器
1.镜像炫光生成器 weavesilk.com 作为在线生成器的鼻祖之一,Silk 早在2010年就发布了,而且效果至今无人超越. 2.在线自动生成背景图片 coolbackgrounds.io ...
- 加快效率又节省生产时间,看MPC等五个工作室玩转Action
Actions是自定义脚本,可以扩展ftrack Studio的功能.通过Actions,你可以自动生成报告,启动应用程序,打开自定义UI等等.下面,来自MPC.Plarium Games.Sila ...
最新文章
- 盘点当下大热的 7 大 Github 机器学习『创新』项目
- 云服务器apache mysql php_服务器配置教程:阿里云服务器安装PHP环境(附PHP+MySQL+Apache后台小Demo)...
- 我遇到的CocoaPods的问题(也许后期会解决,持续更新)
- 开源分布式中间件 DBLE 快速入门指南
- 【Java】集合框架基础编程练习题
- LZW算法PHP实现方法 lzw_decompress php
- Java读取Excel文件转换成JSON并转成List——(七)
- Eureka心跳续约机制
- mysql 横纵表转化_数据库MySQL横纵表相互转化操作实现方法
- 4. linux调用文件计算阶乘前5项和_【题解循环】1091:求阶乘的和
- 马的走法编程java_马周游问题(Java实现)
- 不能忽视 php warning
- 内存释放_把微信这两个开关关掉, 手机立马释放大量内存, 快去试试吧
- Atitit all diary index va u33 #alldiary.docx Atitit alldiaryindex v1 t717 目录 1. Fix	1 2. Diary deta
- PostgreSQL教程
- Spring Boot 2.x 基础案例:整合Dubbo 2.7.3 Nacos1.1.3(配置中心)
- matlab fft能量守恒吗,功能关系 能量守恒定律
- c# 枚举的定义,枚举的用法,获取枚举值
- 0922CSP-S模拟测试赛后总结
- 中职计算机教师考核工作总结,中职计算机教师教学工作总结
热门文章
- python 数据分析 实际案例_python在实际工作中运用的案例
- html lt p gt 标签的属性,科技常识:html中amp;lt;tableamp;gt;标签的各种属性介绍_table的使用...
- c语言省二历年真题讲解安徽,安徽省计算机等级二考试真题C语言年12月.doc
- mysql如何导出word_SQL导出为Word
- python list 实现原理,Python 列表(List)的底层实现原理分析
- post get mysql_jQuery – AJAX get() 和 post() 方法 | 菜鸟教程
- http模拟登陆及发请求
- 【luogu4408】 [NOI2003]逃学的小孩 [动态规划 树的直径]
- SQL基础:数据表的创建
- Android-apk文件反编译