人工智能微客(aiweker), 阿里云开发者社区和infoQ写作社区签约作者, 长期跟踪和分享人工智能前沿技术、应用、领域知识,不定期的发布相关产品和应用,欢迎关注和转发
配置是开发中常用的手段,通过配置可以灵活的设置可变的参数,而不需要调整代码。 python中有使用不同的文件格式来做配置,如json,xml等。今天这里分享一个好用的配置工具yaml文件。
eval的功能是将一个字符串转换成python对象
现在市面上有很多的深度学习预训练模型库,这些预训练库收集了不同AI任务的SOTA模型,有的还提供推理的SDK。这对于做AI应用和AI开发来说,是宝贵的开源资源。
我们在做性能分析的时候,最常用的方法就是统计程序的耗时;通过分析耗时,来确定需要优化和改进的部分
当你开发完自己的python程序并通过测试后,下一步就是要打包部署你的程序
python的包都存放PyPI中,PyPI即Python Package Index,是python的软件仓库。所有的python包都可以在PyPI中下载并安装
Gradio定位是快速构建一个针对人工智能的python的webApp库,在Hugging Face等提供各种模型推理展示的平台广告使用,阿里的魔塔展示也是基于此。
apply函数的作用:就是用某个指定的函数f来依次作用于DataFrame或者Series的每个数据,可以指定按行处理和按列处理。
因为有索引的存在,Series和DataFrame在进行数据操作的时候,会自动进行数据对齐
当我们把数据放入DataFrame后,要数据分析就需要对数据进行进行各种操作,最常见的操作就是增删改查,特别是查,查进一步就是探查分析。
pandas是处理结构化(表格数据)最常用的工具,是python数据分析和数据处理的最成熟的库。pandas最早是为了处理金融数据而开发的,开放到社区至今,已经广泛应用于各个领域中;pandas以numpy为基础,而pandas是其他应用的数据基础,如Scikit-learn等。
当你雄心勃勃的写一个大工程的时候,请在你的checklist里写下三个词语:功能函数化,模块化,单元测试。同时建立一个模块或者文件叫test,所有的单元测试可以放在这里
python中提供了好用的数据结构,比如列表,字典和集合等。列表和字典是最常用的,而今天要分享的集合set也有独特的妙用
序列化就是把内存中的数据结构在不丢失其身份和类型信息的情况下转成对象的文本或二进制表示的过程。而反序列化就是将对象的文本或者二进制还原成原始对象的过程
在《增长黑客》提到的增长团队中重要成员是数据分析师;数据分析师从数据角度抽丝剥茧,不断验证,A/B测试,找到问题,提出增长建议。数据分析师就像侦探一样,找线索,求真相, 是艰难但富有挑战的工作。
类方法:@classmethod装饰的方法,参数有一个隐含参数cls,表示类本身,类可以直接调用
并发简单的说就是利用多个资源同时执行多个小的任务,以提供大的任务的执行耗时; 这和分布式计算有点类似,分布式也是一种并发,只不过可利用的资源不只是单机的资源,而是有网络连接的计算机集群,当然这就增加了机器之间网络传输的开销,同时要处理更多有传输异常导致的异常容错处理机制。
什么是上下文(context) - context是指程序运行所处于的环境和自身的状态(如数据) - 比如上面提到的文件操作,包含了文件打开获取文件操作的句柄权限(获得资源)、处理文件信息、关闭文件(释放资源);这些都是可以认为是文件的操作的环境和状态,也就是一个上下文(context上下文这个译文有点怪怪,可以理解成一个容器内操作一个过程)
在《失控》中提到一个几千万行的程序(操作系统)要想没有bug是很难,减少bug的解决方案就是不断的拆分功能项,直到不能拆分为止,只要保证拆分的最小功能项通过一定的单元测试,就可能消费bug(当然还有集成性和系统性的bug)。《失控》里说的就是现代软件工程的模块化开发方式,在面向对象开发以及架构设计上都会涉及到。
类是面向对象编程的基础,是python开发过程中需要重要掌握的知识点。
防范式编程是基于一种思想:主程序或者子程序不会因为传入错误的数据而被破坏。防范式编程的这种思维将程序可能导致的错误控制在有限的影响范围内。
在项目开发中,日志信息是程序中必不可少的组成部分。每一种语言都有相应的日志模块,如java中log4j,而python中是通过logging模块来提供日志功能。
本文分享了关于 NVIDIA 推出的高性能的深度学习推理引擎 TensorRT 的背后理论知识和实践操作指南。