人工智能微客(aiweker), 阿里云开发者社区和infoQ写作社区签约作者, 长期跟踪和分享人工智能前沿技术、应用、领域知识,不定期的发布相关产品和应用,欢迎关注和转发
回调函数是一种常见的编程概念,在程序设计中经常被使用。回调函数是指在某个特定事件发生时,由某个已注册的函数进行调用。通常情况下,回调函数作为参数传递给另一个函数,当特定事件发生时,这个函数会调用传入的回调函数;【1月更文挑战第2天】
Makefile是一种用于管理和组织源代码的工具,通常用于构建和编译软件项目。它由一系列规则组成,每个规则指定如何生成一个或多个目标文件。Makefile也包括变量和注释,使得用户能够灵活地配置和定制构建过程。【1月更文挑战第3天】
CMake 是一个跨平台的开源构建工具,用于管理软件构建流程。它使用一个名为 CMakeLists.txt 的文本文件来描述构建过程。【1月更文挑战第4天】
日志在任何一种语言编程中都会涉及到,python中有logging库,java中有log4j。当然C也有日志功能,一般可以用宏和函数来实现。 需要明确下日志的功能,一般会设置一个日志等级,比如trace < debug < info < warn < error < fatal 等,根据设置的等级高低来判断是否显示日志。 【1月更文挑战第1天】
使用头文件时需要注意保持代码的整洁性和可维护性,避免对其他模块产生负面影响。同时,对于大型项目,建议使用合适的工具来管理头文件的依赖关系,以确保代码结构的清晰性和可靠性
所谓的生成式模型就是通过文本或者随机采样的方式来得到一张图或者一段话的模型,比如文生图,顾名思义通过文本描述来生成图像的过程。当前流行的文生图模型,如DALE-2, midjourney以及今天要介绍的Stable Diffusion,这3种都是基于Diffusion扩散模型【1月更文挑战第6天】
C语言自定义类型:结构体和枚举
要达到AI工程化部署的诸多要求,需要除了AI算法以外的诸多技术,因此结合实际的项目经验,希望总结一些在AI工程化部署的有用技术供大家参考
Flask是python中轻量的web框架,Flask的两个核心模块除了模板渲染之外就是请求响应处理,其中请求响应处理是由 Werkzeug(WSGI 工具库)完成,而模板渲染是由Jinja(模板渲染库)完成。 Flask因为轻量灵活,用来构建API接口十分合适
正则表达式是一种匹配字符串的规则,我们可以通过正则表达式去搜索指定规则的字符串
配置是开发中常用的手段,通过配置可以灵活的设置可变的参数,而不需要调整代码。 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 的背后理论知识和实践操作指南。