个人经历:一个正在努力提高自身代码能力和实践能力的求职人员。
背景:想通过几个实践项目提高工程实践能力和底层代码能力。提出这个问题是因为自己对深度学习的探究更多停留在能根据文章看懂代码,能根据代码更深入地理解文章的阶段,能修改他人代码为自己所用的阶段。而工程实践必须更进一步到能写出自己的代码。在网上查阅和提问后,得出他人的几个回答,在此记录,以便以后能查阅自己在这段时间的想法和学习的方向。也欢迎经验丰富的前辈评论如何写出深度学习代码这一问题。

回答1:(来自知乎)很多新手初学机器学习,上来就追求复杂的深度学习模型和高大上的算法如AlexNet, ResNet。tensorflow和keras各种API全部调用一遍,却不知道自己在干什么,俗称调包侠。一个观点:脱离实际业务和数据的算法都是空中楼阁。一条路径:按照我的学习经验,从数据清洗到特征工程,再用最传统的算法把整个流程走一遍,不断的比较和尝试各种算法,把特征和算法搞透,才是最快最靠谱的学习方法。两个项目:国外的Kaggle和阿里云天池都是获取项目经验的好途径。我的建议是每个入门机器学习的人都应该参加两个项目。一个传统机器学习应用场景的项目,如阿里移动推荐算法。通过传统应用场景熟悉逻辑斯特回归,支持向量机和梯度增强决策树等算法。一个深度学习应用场景的项目,如肺癌识别和诊断,通过深度学习应用场景熟悉深度学习各种算法的优势和应用场景。

回答2:(来自知乎)1) 详细理解每一个深度学习模块的功能,实现细节;2) 在1)的基础上独立实现一些简单的深度学习框架;本人从Andrej Karpathy的convnet.js学习了很多;基本可以from scratch的撸一个可以用的动态图的深度学习框架(当然远效率不如现成大库pyTorch, TensorFlow等)3) 在2)的学习过程中或者更好的是快速学习完成之后,开始着手研究自己领域的相关论文,手动实现论文中的算法,并和论文开源代码的最后结果进行比较,以验证自己写得正确;4) 进入正循环阶段,读paper,写code,想idea,写code…

回答3:纯手写一个框架比较难,在刚开始,如果做工程实践,可以先跑通别人的代码,然后深入理解代码和原理。目前很多公司都是在别人的工作基础上作优化,调整和裁剪。

回答4:初级阶段,用别人的代码改,了解一下代码框架,弄清楚原理,写论文要创新,但同时也强调要会调用一些现有的函数、代码和已有成果。

回答5:自己写一个框架比较难,基本上是在代码上改动,部分是自己写,一点点改。从改进别人的模型开始,如果要设计自己的模型就得花很长时间。但一旦设计出来,就能成长很多。

回答6:代码写的出来是一方面,能达到最好的性能又是一方面。同样的数据集,同样的模型,不同的人做出来差别就很大。

总结:正确判断自己处于哪个阶段很重要。处于哪个阶段就要找到自己这个阶段的正确实践方法才能达到你最初的目的。我正处在初级阶段,仍然以修改已有的框架和代码,部分自己写,深入理解代码的原理,适当改进模型为主。

如何提高深度学习代码能力相关推荐

  1. 英飞凌——人工智能物联网:当物联网终端设备拥有深度学习的能力

    英飞凌--人工智能物联网:当物联网终端设备拥有深度学习的能力 万物互联时代,人工智能物联网(AIoT)成为热门技术趋势之一.AIoT指的是在边缘端将人工智能和物联网结合起来,即在物联网终端设备中内置智 ...

  2. 论文合集 | 李飞飞新论文:深度学习代码搜索综述;Adobe用GAN生成动画(附地址)...

    来源:机器之心 本文约3200字,建议阅读7分钟. 本文介绍了李飞飞新论文,深度学习代码搜索综述,Adobe用GAN生成动画. 本周有李飞飞.朱玉可等的图像因果推理和吴恩达等的 NGBoost 新论文 ...

  3. 4个提高深度学习模型性能的技巧

    点击上方"AI遇见机器学习",选择"星标"公众号 原创干货,第一时间送达 深度学习是一个广阔的领域,但我们大多数人在构建模型时都面临一些共同的难题 在这里,我们 ...

  4. 如何才能信任你的深度学习代码?

    深度学习是一门很难评估代码正确性的学科.随机初始化.庞大的数据集和权重的有限可解释性意味着,要找到模型为什么不能训练的确切问题,大多数时候都需要反复试验.在传统的软件开发中,自动化单元测试是确定代码是 ...

  5. CSDN技术主题月----“深度学习”代码笔记专栏

    from: CSDN技术主题月----"深度学习"代码笔记专栏 2016-09-13 nigelyq 技术专题 Hi,各位用户 CSDN技术主题月代码笔记专栏会每月在CODE博客为 ...

  6. 深度学习工程师能力评估标准

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx 深度学习工程师能力评估标准 1.范围 2术语和定义 2.1人工智能artificial int ...

  7. 如何提高深度学习模型的可解释性?极致的数据透出与多维可视化实战详解

    小叽导读:深度网络对机器学习研究和应用领域产生了巨大的影响,与此同时却无法很清晰地解释神经网络的来龙去脉.迄今为止,深度学习不够透明,神经网络整体看来仍然是一个黑箱.因此,人们一直致力于更透彻地去理解 ...

  8. 如何提高深度学习模型的可解释性?极致的数据透出与多维可视化实战详解...

    小叽导读:深度网络对机器学习研究和应用领域产生了巨大的影响,与此同时却无法很清晰地解释神经网络的来龙去脉.迄今为止,深度学习不够透明,神经网络整体看来仍然是一个黑箱.因此,人们一直致力于更透彻地去理解 ...

  9. 降低数值精度以提高深度学习性能

    降低数值精度以提高深度学习性能 Lowering Numerical Precision to Increase Deep Learning Performance 深度学习训练和推理将成为未来几十年 ...

最新文章

  1. 机器学习的乐趣与辛劳
  2. boost::sort模块实现测试并行稳定排序
  3. fork和vfork,return和exit的理解
  4. mysql高可用最佳实践_mysql高可用方案
  5. 洛奇 服务器文件,【公告】电信三区服务器合并说明...
  6. client does not support authentication
  7. 浅淡个人学习嵌入式Linux过程
  8. 解决Android Studio连接不到ios模拟器问题
  9. 用 Bootstrap 进行参数估计
  10. 年度总结—2019-2020
  11. 万字实录:从DDCTF大赛看当前网络安全新趋势 | 硬创公开课总结文+视频(下篇)...
  12. MATLAB中text函数使用
  13. Lettuce在Spring boot中的使用方式
  14. 一网打尽!2018网络安全事件最全的盘点
  15. 医学应用计算机答案,医学计算机应用试题及答案大全02.doc
  16. Java高级程序设计笔记 • 【第6章 设计模式】
  17. CE下中文输入法编辑器(转)
  18. android service是什么,Android service是什么 Android service详解
  19. MetaIn中poi点在智慧城市的运用
  20. 渲染树(render树)是什么?

热门文章

  1. 华为mate40功耗测试软件,华为Mate40Pro续航怎么样-续航能力测试
  2. How to caching Global data in on-chip (level 1) cache in Morden GPU
  3. 科普了解高级编程语言的发展历程
  4. prooerties mysql_mysql数据库操作相关知识--读书笔记分享
  5. 2020年微信引流,教你如何吸引客源!
  6. 实现手机扫码直接拨打电话
  7. 学习Java的第七天
  8. Ubuntu 磁盘管理  命令行工具
  9. SpringMVC整合websocket实现消息推送及触发
  10. Andr oid 多窗 口编程