手撸一个torch——day1——numba和flake8

【手撸一个torch——day1——numba和flake8】从头搞一个torch , 造一个轮子 。
参考
安装
python -m pip install -r requirements.extra.txtconda install llvmlite
conda虚拟环境中安装numba时报错 推荐试试其他的虚拟化
: , numba
:
Found:0.20.0
ERROR:‘’. It is aand thus wewhich filesto it which would lead to only a.
解决:忽略报错的形式安装

手撸一个torch——day1——numba和flake8

文章插图
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 持续集成
除了本地测试之外 , 该项目的设置使得在每次代码推送时 , 测试都会在服务器上自动运行和检查 。您可以通过提交代码、推送到服务器然后登录到来查看您在作业中的完成情况 。此过程需要几分钟时间 , 但这是一种随时跟踪进度的简单方法 。