【大厂AI课学习笔记NO.68】开源和开源发展情况

开源即源代码公开,任何人能获取源代码,查看、修改、分发他们认为合适的代码。

依托同行评审和社区生成,旨在以分散、协作的方式开发。

我们曾经很详细的讨论过开源协议的问题,详细可以参考我的文章:

https://giszz.blog.csdn.net/article/details/134460066

【AI】马斯克说大模型要开源,我们缺的是源代码?(附一图看懂6大开源协议)

核心其实就是这张图,要考的哦!

 

MIT协议是嘴宽松的协议,损失概不负责而已,这当然,难道你用了开源框架,还要去碰瓷吗?

从发展的角度来讲:

 

美国还是开源最繁荣的地方,没有占据了三分之二的项目,另外体量比较的是中国。

目前企业、高效研究机构、组织和个人,分别占据了三分之一。

人工智能的开源项目,从2007年以后,开始推动。深度学习框架开始繁荣。

目前还是我们介绍过的人工智能机器学习框架TensorFlow使用的人最多,重复发明轮子,已经不是需要了。

如同最近老周红衣说的,人工智能的未来在行业应用,中国有最大的市场,最多的数据,人工的智能的发展,离不开中国的参与。

延伸学习:


在人工智能领域,开源框架是推动技术创新和发展的重要力量。这些框架为研究者、开发者和企业提供了构建、训练和部署机器学习模型的工具。下面将详细介绍几个著名的开源框架,包括它们的特性、应用场景和特点。

1. TensorFlow

TensorFlow最初由Google Brain团队开发,是目前应用最广泛的深度学习框架之一。它支持广泛的硬件平台,包括CPU、GPU和TPU,并提供了从高级Keras API到低级TensorFlow API的多层次接口。

特性

  • 灵活性:TensorFlow支持静态图和动态图(通过Eager Execution),使得它既适合高效生产环境,也适合快速原型开发。
  • 可扩展性:TensorFlow可以轻松地在多个硬件上高效地进行分布式训练。
  • 生态系统:TensorFlow拥有庞大的社区和丰富的生态系统,包括TensorBoard可视化工具、TensorFlow Hub模型库和TensorFlow Lite移动端部署工具。

应用场景

  • 图像识别:TensorFlow在图像分类、目标检测和图像生成等任务中表现出色。
  • 语音识别和自然语言处理:TensorFlow常用于构建语音识别系统、机器翻译和文本生成等NLP任务。
  • 强化学习:TensorFlow提供了用于构建和训练强化学习模型的工具。

特点

  • 静态图与动态图结合:TensorFlow 2.x版本结合了静态图和动态图的优点,提高了易用性和灵活性。
  • 广泛的硬件支持:TensorFlow支持多种硬件平台,使得训练和部署更加便捷。
  • 强大的生态系统:TensorFlow的生态系统提供了丰富的预训练模型和工具,加速了模型开发和部署的过程。

2. PyTorch

PyTorch是由Facebook人工智能研究院研发的开源机器学习框架。它以其动态图、易用性和高效的GPU加速功能而受到欢迎。

特性

  • 动态图:PyTorch使用动态计算图,具有高效的内存使用和灵活的调试能力。
  • 易用性:PyTorch的API简洁明了,易于学习和使用。
  • 高效GPU加速:PyTorch支持GPU加速,可以显著提高训练和推理速度。

应用场景

  • 自然语言处理:PyTorch在自然语言处理任务中表现出色,如文本分类、情感分析和机器翻译等。
  • 计算机视觉:PyTorch常用于图像识别、目标检测、图像分割和图像生成等任务。
  • 语音处理:PyTorch也适用于语音识别和语音合成等任务。

特点

  • 动态图和高效内存管理:PyTorch的动态图特性使得模型开发和调试更加直观和高效。
  • 简洁的API:PyTorch的API设计简洁明了,降低了学习门槛。
  • 活跃的社区:PyTorch拥有活跃的社区和丰富的开源项目,为开发者提供了良好的学习和交流环境。

3. Keras

Keras是一个高层神经网络API,可以运行在TensorFlow、Microsoft-CNTK或Theano之上。它以其简洁性、模块化和可扩展性而受到欢迎。

特性

  • 简洁性:Keras提供了简洁明了的API,使得模型定义和训练变得简单直观。
  • 模块化:Keras的模型是由可配置的模块组成的,这些模块可以以各种方式进行组合。
  • 可扩展性:Keras支持自定义层、损失函数和优化器等组件,方便用户进行扩展。

应用场景

  • 图像分类:Keras常用于构建和训练图像分类模型。
  • 文本处理:Keras可以处理文本数据,用于情感分析、文本分类等任务。
  • 时间序列预测:Keras也适用于时间序列数据的预测和分析。

特点

  • 易于上手:Keras的简洁性和模块化使得初学者能够快速上手。
  • 高度可定制:Keras支持自定义组件,方便用户根据需求进行定制。
  • 与TensorFlow的兼容性:Keras可以作为TensorFlow的高级API使用,享受TensorFlow的生态系统和硬件支持。

4. MXNet

MXNet是由亚马逊人工智能研究院研发的深度学习框架。它以其高效性、灵活性和可扩展性而受到关注。

特性

  • 高效性:MXNet在训练和推理速度上表现出色,特别适用于大规模数据集和分布式训练。
  • 灵活性:MXNet支持多种编程语言和平台,包括Python、C++、R和Scala等。
  • 可扩展性:MXNet支持自定义层和操作符,方便用户进行扩展和定制。

应用场景

  • 图像识别:MXNet常用于图像分类和目标检测等计算机视觉任务。
  • 自然语言处理:MXNet也适用于机器翻译、文本生成等NLP任务。
  • 自动驾驶:MXNet在自动驾驶领域也有一定的应用,如车辆检测和路径规划等。

特点

  • 混合精度训练:MXNet支持混合精度训练,可以显著提高训练速度和减少内存消耗。
  • 跨平台兼容性:MXNet支持多种编程语言和平台,使得模型开发和部署更加灵活。
  • 与AWS的集成:MXNet与亚马逊的AWS云服务紧密集成,方便用户在云上进行模型训练和部署。

总结

以上介绍了TensorFlow、PyTorch、Keras和MXNet这四个著名的开源人工智能框架。它们各有特点,适用于不同的应用场景。TensorFlow以其灵活性和可扩展性在多个领域广泛应用;PyTorch以其动态图和易用性受到研究者和开发者的喜爱;Keras以其简洁性和模块化使得初学者能够快速上手;MXNet以其高效性和跨平台兼容性在特定领域表现出色。选择合适的框架取决于具体的应用需求、硬件资源和开发者的熟悉程度。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/446780.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV的常用数据类型

OpenCV涉及的常用数据类型除包含C的基本数据类型,如:char、uchar,int、unsigned int,short 、long、float、double等数据类型外, 还包含Vec,Point、Scalar、Size、Rect、RotatedRect、Mat等类。C中的基本数据类型不需再做说明下面重点介绍一下…

flink重温笔记(十四): flink 高级特性和新特性(3)——数据类型及 Avro 序列化

Flink学习笔记 前言:今天是学习 flink 的第 14 天啦!学习了 flink 高级特性和新特性之数据类型及 avro 序列化,主要是解决大数据领域数据规范化写入和规范化读取的问题,avro 数据结构可以节约存储空间,本文中结合企业真…

iOS17.4获取UDID安装mobileconfig描述文件失败 提示“安全延迟进行中”问题 | 失窃设备保护

iOS17.4这两天已经正式发布, 在iOS 17.4版本中新增了一个名为"失窃设备保护"的功能,并提供了一个"需要安全延迟"的选项。 iOS17.4获取UDID安装mobileconfig描述文件失败 提示“安全延迟进行中”问题 | 失窃设备保护 当用户选择启用…

贝叶斯优化的门控循环神经网络BO-GRU(时序预测)的Matlab实现

贝叶斯优化的门控循环神经网络(BO-GRU)是一种结合了贝叶斯优化(Bayesian Optimization, BO)和门控循环单元(Gated Recurrent Unit, GRU)的模型,旨在进行时序预测。这种模型特别适用于时间序列数…

Linux:kubernetes(k8s)lable和selecto标签和选择器的使用(11)

通过标签是可以让我们的容器和容器之间相互认识,简单来说一边打了标签,一边使用选择器去选择就可以快速的让他们之间耦合 定义标签有两种办法,一个是文件中,一个是命令行里 我们在前几章编进文件的时候里面都有lable比如 这个就是…

OpenCV读取tensorflow神经网络模型:SavedModel格式转为frozen graph的方法

本文介绍基于Python的tensorflow库,将tensorflow与keras训练好的SavedModel格式神经网络模型转换为frozen graph格式,从而可以用OpenCV库在C 等其他语言中将其打开的方法。 如果我们需要训练并使用一个神经网络模型,一般情况下都是首先借助Py…

[mmucache]-ARMV8-aarch64的虚拟内存(mmutlbcache)介绍-概念扫盲

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 思考: 1、cache的entry里都是有什么? 2、TLB的entry里都是有什么? 3、MMU操作…

QT给QLabel设置背景颜色

1.选中label 2.右键点击"改变样式表" 3.填写样式,点击apply,ok 注意 #{QLabel名称},例如名称是label就是QLabel#label

opencv人脸识别实战3:多线程和GUI界面设计(PyCharm实现)

一、多线程设计 1、在一个新线程中调用了 scan_face() 函数来进行人脸识别操作。根据识别结果,更新界面显示结果,最后释放资源。 def f_scan_face_thread():var.set(刷脸)ans scan_face()if ans 0:print("最终结果:无法识别")va…

【个人开发】llama2部署实践(三)——python部署llama服务(基于GPU加速)

1.python环境准备 注:llama-cpp-python安装一定要带上前面的参数安装,如果仅用pip install装,启动服务时并没将模型加载到GPU里面。 # CMAKE_ARGS"-DLLAMA_METALon" FORCE_CMAKE1 pip install llama-cpp-python CMAKE_ARGS"…

UE4开个头-简易小汽车

跟着谌嘉诚学的小Demo,记录一下 主要涉及到小白人上下车和镜头切换操作 1、动态演示效果 2、静态展示图片 3、蓝图-上下车

如何轻松打造属于自己的水印相机小程序?

水印相机小程序源码 描述:微信小程序。本文将为您详细介绍小程序水印相机源码的搭建过程,教您如何轻松打造属于自己的水印相机小程序。无论您是初学者还是有一定基础的开发者,都能轻松掌握这个教程。 一:水印相机搭建教程 1 隐…

Ubuntu23.10安装FFmpeg及编译FFmpeg源码

安装FFmpeg: 打开终端: 输入 sudo apt install ffmpeg 安装成功: 验证FFmpeg 默认安装位置与库与头文件位置 使用FFmpeg源码编译: 1.安装YASM sudo apt-get install yasm

鸿蒙开发学习:【ets_frontend组件】

简介 ets_frontend组件是方舟运行时子系统的前端工具,结合ace-ets2bundle组件,支持将ets文件转换为方舟字节码文件。 ets_frontend组件架构图 目录 /arkcompiler/ets_frontend/ ├── test262 # test262测试配置和运行脚本 ├── testTs…

Mysql 死锁案例2-间隙锁与意向插入锁冲突

死锁复现 CREATE TABLE t (id int(11) NOT NULL,c int(11) DEFAULT NULL,d int(11) DEFAULT NULL,PRIMARY KEY (id),KEY c (c) ) ENGINEInnoDB DEFAULT CHARSETutf8;/*Data for the table t */insert into t(id,c,d) values (0,0,0),(5,5,5),(10,10,10) 事务1事务2T1START …

React-路由小知识

1.默认路由 说明:当访问的是一级路由时,默认的二级路由组件可以得到渲染,只需要在二级路由的位置去掉path,设置index.属性为true。 2.404路由 说明:当浏览器输入ul的路径在整个路由配置中都找不到对应的pth,为了用户体验&#x…

Django简易用户登入系统示例

Django简易用户登入系统示例 1)添加url和函数的对应关系(urls.py) urlpatterns [ path(login/, views.login), #login:url路径,views.login:对应的函数 ]2)添加视图函数(views.py) def login(req):if…

React useMemo钩子指南:优化计算性能

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

绳牵引并联机器人动态避障方法

绳牵引并联机器人在受限空间中如何躲避动态障碍物,是个有挑战的课题。 来自哈尔滨工业大学(深圳)的熊昊老师团队,开展了一项有趣的研究,论文《Dynamic Obstacle Avoidance for Cable-Driven Parallel Robots With Mob…

GitOps实践之Argo CD (2)

argocd 【-1】argocd可以解决什么问题? helm 部署是手动的?依赖流水线。而有时候仅仅更新一个小东西,流水线跑好久,CD真的不应该和CI耦合。不同环境的helm配置不同,手动修改问题多,可以用git管理起来,例如分不同环境用目录区分。argocd创建应用可以不通环境部署到不同集…