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

news/2024/5/30 1:42:59/文章来源:https://blog.csdn.net/giszz/article/details/136598216

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

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

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

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以其高效性和跨平台兼容性在特定领域表现出色。选择合适的框架取决于具体的应用需求、硬件资源和开发者的熟悉程度。

 

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

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

相关文章

为什么要用scrapy爬虫库?而不是纯python进行爬虫?

为什么要用scrapy爬虫库?而不是纯python进行爬虫? Scrapy的优点Scrapy节省的工作使用纯Python编写爬虫的不足 Scrapy是一个使用Python编写的开源和协作的web爬虫框架,它被设计用于爬取网页数据并从中提取结构化数据。Scrapy的强大之处在于其广…

新手如何快速上手学习单片机?

读者朋友能容我,不使博文负真心 新开专栏,期待与诸君共享精彩 个人主页:17_Kevin-CSDN博客 专栏:《单片机》 学习单片机是一个有趣且有挑战性的过程。单片机是一种微控制器,广泛应用于各种电子设备和嵌入式系统中。在这…

精通Linuxd磁盘分区挂载的精髓:从理论到实战一网打尽

前言 想要深入了解Linux系统中磁盘分区挂载的原理和操作步骤吗?这篇文章将为你揭开分区挂载的神秘面纱,从理论到实践,详细讲解分区挂载的一切。无论你是初学者还是有一定经验的用户,都能从中获取新知识,提升技能水平。…

前后端交互理解 简易表白墙(servlet)

前后端交互理解 简易表白墙(servlet) 文章目录 前后端交互理解 简易表白墙(servlet)后端核心内容前后端交互接口约定后端代码展示 上期介绍过 Servlet API ,本篇文章目的是借助 servlet 做出一个完整的网站。在一个网站…

RabbitMQ应用场景

1、异步处理 假设想象一下我们做一个商城项目,在用户支付模块中,可能会涉及到其它业务,比如:积分折扣、消费券、短信验证等功能。我们传统的执行步骤是逐步执行,也就是说当用户点击支付 ----> 积分折扣 ----> 消…

Docker进阶:深入了解 Dockerfile

Docker进阶:深入了解 Dockerfile 一、Dockerfile 概述二、Dockerfile 优点三、Dockerfile 编写规则四、Dockerfile 中常用的指令1、FROM2、LABEL3、RUN4、CMD5、ENTRYPOINT6、COPY7、ADD8、WORKDIR9、 ENV10、EXPOSE11、VOLUME12、USER13、注释14、ONBUILD 命令15、…

区块链基础知识(上):区块链基本原理、加密哈希、公钥加密

目录 基本原理 加密哈希: 公钥加密: 希望有人向你发送只有你才能打开的加密文档/消息时使用 PKC 希望向其他人发送加密文档/消息并证明它确实由你发送时使用 PKC 使用 PKC 和加密哈希对文档/消息进行数字签名 交易哈希链使用数字签名转让数字资产所…

【洛谷 P8781】[蓝桥杯 2022 省 B] 修剪灌木 题解(模拟+差分)

[蓝桥杯 2022 省 B] 修剪灌木 题目描述 爱丽丝要完成一项修剪灌木的工作。 有 N N N 棵灌木整齐的从左到右排成一排。爱丽丝在每天傍晩会修剪一棵灌木,让灌木的高度变为 0 0 0 厘米。爱丽丝修剪灌木的顺序是从最左侧的灌木开始,每天向右修剪一棵灌木…

centos 系统 yum 无法安装(换国内镜像地下)

centos 系统 yum 因为无法连接到国外的官网而无法安装,问题如下图: 更换阿里镜像,配置文件路径:/etc/yum.repos.d/CentOS-Base.repo(如果目录有多余的文件可以移动到子目录,以免造成影响) bas…

docker使用jupyter/datascience-notebook,重置密码,并且设置各类易用参数

前言 前一篇文章写了自己安装conda环境,然后添加C、C语言环境等,那时候就在想,有没有现成的docker可以用,后来搜了一下docker的网上镜像,还真的有: 可以看到有一个人的镜像,星星是最多的&#x…

React-嵌套路由

1.概念 说明&#xff1a;在一级路由中又内嵌了其他路由&#xff0c;这种关系就叫做嵌套路由&#xff0c;嵌套至一级路由内的路由又称作二级路由。 2.实现步骤 说明&#xff1a;使用childen属性配置路由嵌套关系&#xff0c;使用<Outlet/>组件配置二级路由渲染的位置。…

基于springboot实现驾校信息管理系统项目【项目源码+论文说明】

基于springboot实现驾校信息管理系统演示 摘要 随着人们生活水平的不断提高&#xff0c;出行方式多样化&#xff0c;也以私家车为主&#xff0c;那么既然私家车的需求不断增长&#xff0c;那么基于驾校的考核管理也就不断增强&#xff0c;那么业务系统也就慢慢的随之加大。信息…

[保姆级教程]Windows安装MongoDB教程

文章目录 导文MongoDB安装包下载1.点击进入mongodb官网2.点击MongoDB Community Edition&#xff08;社区版&#xff09;&#xff0c;进入下图界面3.选择版本4.下载5.安装6.勾选同意协议&#xff0c;点击“Next"7.选择自定义安装8.点击“Next"9.修改到合适的地址10.点…

Tensorflow实现手写数字识别

模型架构 具有10个神经元&#xff0c;对应10个类别&#xff08;0-9的数字&#xff09;。使用softmax激活函数&#xff0c;对多分类问题进行概率归一化。输出层 (Dense):具有64个神经元。激活函数为ReLU。全连接层 (Dense):将二维数据展平成一维&#xff0c;为全连接层做准备。展…

深入了解volatile、内存屏障与happens-before规则

1、编译器优化的重排序。编译器在不改变单线程程序语义的前提下&#xff0c;可以重新安排语句的执行顺序&#xff1b;2、指令级并行的重排序。现代处理器采用了指令级并行技术来将多条指令重叠执行。如果不存在数据依赖性&#xff0c;处理器可以改变语句对应机器指令的执行顺序…

开源的python 游戏开发库介绍

本文将为您详细讲解开源的 Python 游戏开发库&#xff0c;以及它们的特点、区别和应用场景。Python 社区提供了多种游戏开发库&#xff0c;这些库可以帮助您在 Python 应用程序中实现游戏逻辑、图形渲染、声音处理等功能。 1. Pygame 特点 - 基于 Python 的游戏开发库。…

Python实时追踪关键点组成人体模型

项目背景 最近遇到这样一个需求&#xff1a; 1&#xff1a;实时追踪关键点组成人体模型&#xff08;手臂包括三个点&#xff1a;手腕&#xff0c;肘关节&#xff0c;双肩&#xff1b;腿部包括胯骨&#xff0c;膝盖&#xff0c;脚踝&#xff09; 2&#xff1a;运用追踪到的关键…

智慧城市与智慧乡村:共创城乡一体化新局面

一、引言 随着科技的不断进步和城乡发展的日益融合&#xff0c;智慧城市与智慧乡村的建设已成为推动城乡一体化发展的新引擎。智慧城市利用物联网、大数据、云计算等先进技术&#xff0c;实现城市治理、公共服务、产业发展等领域的智能化&#xff1b;而智慧乡村则借助现代科技…

组态软件的概念

一、前言 组态软件是一种用于设计、配置和管理自动化系统的软件。它可以帮助用户快速地创建和修改自动化系统的界面、逻辑和通信功能&#xff0c;从而提高生产效率和质量。 二、组态软件的定义 组态软件是一种集成开发环境&#xff0c;用于设计、配置和管理自动化系统。它通…

计讯物联智慧合杆在智慧城市中的应用

随着智慧城市数字化的建设与发展&#xff0c;5G智慧合杆不仅成为智慧城市感知网络体系的重要载体&#xff0c;也是发展智慧城市IoT的重要基础。在今年两会中&#xff0c;全国政协委员提出&#xff0c;探索“智慧灯杆5G基站”“多杆合一”试点示范&#xff0c;实现社会资源共享。…