手撸一个torch——day1——numba和flake8
从头搞一个torch,造一个轮子。
参考
安装
python -m pip install -r requirements.extra.txt
conda install llvmlite
conda虚拟环境中安装numba时报错 推荐试试其他的虚拟化
: , numba
:
Found : 0.20.0
ERROR: ‘’. It is a and thus we which files to it which would lead to only a .
解决:忽略报错的形式安装
python -m pip --ignore-installed numba
numba教程
前两天正好学了这个,使用前可以看我写的装饰器讲解。numba在使用cuda加速时候用到了jit编译,能理解其中机制最好。
接下来看我写的numba教程,涉及到部分cuda知识。如果有时间应从CUDA C入手,隐藏了很多设计优化的细节,让新手能快速入门,体验加速。但如果日后进一步优化并行程序,必须要理解GPU并行时候的各个。进一步的学习会让你体会到cuda的能力其实很有限,需要精心设计并且对于任务优化才能发挥功能。
除了有助于简化代码之外,张量还为加速计算提供了基础。事实上,它们确实是使用 等慢速语言高效编写深度学习代码的唯一方法。
面向代码格式化的
IDE都会有这个功能,但是最近迷上了Vim。
是由官方发布的一款辅助检测代码是否规范的工具,相对于目前热度比较高的来说,检查规则灵活,支持集成额外插件,扩展性强。是对下面三个工具的封装:
:静态检查代码逻辑错误的工具。
Pep8: 静态检查PEP8编码风格的工具。
’s :静态分析代码复杂度的工具。
不光对以上三个工具的封装,还提供了扩展的开发接口。
官方文档:
举个例子
可以观察到很多的,对于较小的测试算法的程序来说,自己就能知道很多的bug,不关心尚可。
但是对于性能要求严格或者是体量较大的程序,的堆积意味着“莫名其妙的bug”。因此要在最初就时刻优化程序。
该项目还要求您始终保持文档符合标准。如果您的文档格式不正确,则会抛出 Lint 错误
CI 持续集成
除了本地测试之外,该项目的设置使得在每次代码推送时,测试都会在服务器上自动运行和检查。您可以通过提交代码、推送到服务器然后登录到 来查看您在作业中的完成情况。此过程需要几分钟时间,但这是一种随时跟踪进度的简单方法。