加入收藏 | 设为首页 | 会员中心 | 我要投稿 揭阳站长网 (https://www.0663zz.cn/)- 机器学习、行业智能、决策智能、云计算、AI应用!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

利用类脑器件高效处理神经信号

发布时间:2021-02-11 15:55:04 所属栏目:外闻 来源:互联网
导读:4. 提高代码效率 编写高效的代码以快速执行并消耗更少的内存和存储空间,是软件开发中的另一项重要技能。编写高效的代码需要多年的经验,但是以下一些小技巧可以帮助你确定代码是否运行缓慢以及如何提高代码运行速度: 在执行任何操作之前,请检查算法的复杂

4. 提高代码效率

编写高效的代码以快速执行并消耗更少的内存和存储空间,是软件开发中的另一项重要技能。编写高效的代码需要多年的经验,但是以下一些小技巧可以帮助你确定代码是否运行缓慢以及如何提高代码运行速度:

  • 在执行任何操作之前,请检查算法的复杂性以评估其执行时间。
  • 通过检查每个操作的运行时间来检查脚本可能遇到的瓶颈。
  • 尽可能避免for循环并使操作向量化,尤其是在使用NumPy或pandas等库的情况下。
  • 通过使用多处理来利用计算机的CPU内核。

5. 使用GIT或任何其他版本控制系统

使用GIT + Github帮助我提高了编码技能,更好地组织了项目。由于我是在与朋友和同事合作时使用它的,所以我遵守了过去不遵守的标准。
 

2. 使代码模块化

当你开始构建可以在相同或其他项目中重复使用的东西时,你必须将代码组织为逻辑功能和模块,这有助于构建更好的组织和可维护性。

例如,你正在研究NLP项目,并且你可能具有不同的处理功能来处理文本数据(标记,剥离URL,修饰词等)。你可以将所有这些单元放入名为text_processing.py的python模块中,然后从中导入它们,主程序将更轻巧。

这是有关编写模块化代码的一些技巧:

  • 不要自我重复。尽可能泛化或合并你的代码。
  • 函数应该用来做一件事。如果一个函数执行多项操作,则很难被概括。
  • 在函数中抽象逻辑,但又不要过度设计,否则最终可能会有太多的模块。运用你的判断力,如果你没有经验,请查看scikit-learn等流行的GitHub存储库,并学习其编码风格。

3. 重构代码

重构旨在重新组织代码的内部结构,而不改变其功能,通常是在有效(但仍未完全组织)的代码版本上完成的。它有助于消除重复功能,重组文件结构,并添加更多抽象。
 

  • 遵循PEP8约定给对象命名:例如,函数和方法名用小写字母表示,单词用下划线分隔,类名遵循UpperCaseCamelCase约定,常量用大写字母表示,等等。
  • 使用缩进和空格使代码更加美观。有一些标准约定,例如“每个缩进使用4个空格”,“单独的节应该有额外的空行”等等。

Jupyter notebook非常适合探索和快速制作原型。它们肯定不是为可重用性或生产用途而设计的。如果你使用Jupyter notebook开发了数据处理管道,那么最好的情况是代码仅按照单元执行顺序以线性同步方式在笔记本电脑或VM上运行。

但这并没有说明你的代码在更复杂的环境中的行为方式,例如,较大的输入数据集,其他异步并行任务或分配较少的资源。实际上我们很难测试笔记本,因为它们的行为有时是不可预测的。

作为一个将大部分时间花在VSCode上的人,我常常利用功能强大的扩展来进行代码添加、样式格式化、代码结构、自动完成和代码库搜索,因此当切换回Jupyter时,笔者不禁感到有些无能为力。与VSCode相比,Jupyter notebook缺少强制执行最佳编程实践的扩展。

好了,抱怨到此为止。笔者真的很喜欢Jupyter,认为它对设计工作非常有用。你肯定可以用它来引导小项目或快速创建想法原型,但你必须遵循软件工程的原则。当数据科学家使用notebook时,有时会忽略这些原则,让我们一起回顾下其中一些吧。

让代码再次出色的小技巧

这些技巧是从不同的项目、笔者参加的聚会以及过去合作过的软件工程师和架构师的讨论中汇编而来的。注意,以下内容皆假设我们正在编写python脚本,而不是notebook。

1. 清理代码


(编辑:揭阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读