每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/
1. TensorFlow?GitHub - tensorflow/tensorflow: An Open Source Machine Learning Framework for Everyone
TensorFlow是谷歌大脑团队开发的领先的开源人工智能深度学习项目。 最初,它是为机器学习和深度神经网络研究而创造的。TensorFlow 是世界上顶级的开源人工智能工具之一,用于开发机器学习和深度学习应用程序。?
专业人员在全球使用它来设计文本,音频和图像识别算法。 尽管与PyTorch和Keras等替代机器学习开源项目存在竞争,但它保持了知名度,并在开源人工智能领域建立了领导地位。
如今,它提供了各种工作流程,使用直观的高级API允许初学者和专业人员用各种语言开发机器学习模型。 使用TensorFlow创建的模型可以部署在各种平台上,包括服务器,云端,移动端,边缘设备,浏览器等等。 换句话说,TensorFlow是一个跨平台框架,这意味着它可以在广泛的硬件上工作,包括GPU、CPU和移动端及嵌入式平台。 您也可以在谷歌专有的TensorFlow 处理单元(TPU)硬件上运行TensorFlow,以进一步加速深度学习模型的开发。
您可以使用TensorFlow训练和执行深度神经网络以进行手写数字分类、视觉识别、词嵌入、循环神经网络、机器翻译序列模型、自然语言处理和基于偏微分方程的模拟。
2. PyTorchGitHub - pytorch/pytorch: Tensors and Dynamic neural networks in Python with strong GPU acceleration
?
PyTorch由Facebook建立并在2017年发布在GitHub上,是最好的开源机器学习项目之一。 这一框架使用Python编写,运行在C++后端API之上。 PyTorch开始时只关注研究应用,作为Lua Torch框架的Python替代品。 目前,PyTorch生态系统由学术界和工业研究人员、应用程序开发人员和深度学习专家组成的多元化社区构建的项目、工具、模型和库组成。
与大多数其他突出的深度学习框架(如TensorFlow)不同,PyTorch采用动态计算,在构建复杂网络时提供了更大的灵活性。 PyTorch利用基本和众所周知的Python,语法更容易理解。 此外,通过利用Python固有的异步执行功能,PyTorch提高了AI模型的优化。 其分布式数据并行功能允许您通过在多台计算机上运行模型来扩展项目。
torchvision(用于计算机视觉)、torchtext(用于自然语言处理)和甚至torchaudio(用于声音处理)等序列化库有助于PyTorch生态系统高效工作。 PyTorch的优势来自其开源性质,因为它是全球机器学习开发人员和学者无数贡献的产物。 PyTorch构建DL / ML解决方案的能力几乎是无限的,因为其后的社区正在不断增长。
3. Keras?GitHub - keras-team/keras: Deep Learning for humans
?
Keras是一个高级神经网络框架,它在TensorFlow,CNTK和Theano之上运行。 如果您需要一个深度学习框架,该框架允许快速原型开发,支持卷积网络和循环网络,并且在CPU和GPU上运行良好,那么这是开展开源人工智能项目的完美库。
与其他独立的替代方案不同,这个开源人工智能项目不处理简单的底层操作。 相反,它使用相关深度学习框架的库,如Tensorflow或Theano作为后端引擎来执行所有低级计算,如张量乘法、卷积和许多其他操作。
TensorFlow、Theano和Keras具有用于快速轻松访问后端的现成接口。 也不需要提交特定的框架,因为您可以快速在许多后端之间来回切换。?
Keras还提供了高级API,它负责创建模型,指定层并配置各种模型。 此外,此API有助于使用损失和优化器功能构建模型以及使用fit函数进行培训过程。
Detectron2是Facebook AI在2018年开发的对象检测库Detectron的升级版本。 由Caffe驱动的Detectron安装和使用很困难。 这主要是因为自2018年以来,有几个代码修改已经将Caffe2和PyTorch合并到一个存储库中,使Detectron更难使用。 因此,Facebook在收到开源社区的一些建设性意见后发布了Dectortron2。
Detectron2是Facebook AI研究院的下一代软件系统,使用尖端对象识别算法。 它提供了几种方法来实现复杂的算法,用于DensePose、全景金字塔网络和FAIR先驱Mask R-CNN模型家族的各种变体。 与Detectron一样,它能够使用框和实例分割掩模进行对象检测以及人体姿态预测。 Detectron2还包括对语义分割和全景分割的支持,这种方法结合了语义和实例分割。
Theano是蒙特利尔大学在加拿大魁北克省蒙特利尔市的MILA小组开发的一个开源人工智能项目。 它是一个Python库,可以使用NumPy或SciPy在多维数组上执行数学运算。 Theano可以利用GPU加速处理,并可以自动创建符号图来计算梯度。
Theano是为了实现最先进的深度学习算法而创建的,现在被认为是深度学习研究和开发的行业标准。 虽然它的计算性能令人印象深刻,但消费者抱怨用户界面不够友好和错误消息不够有用。 因此,Theano通常与更用户友好的包装器(如Keras、Lasagne和Blocks)一起使用 —— 这是三个用于快速原型设计和模型测试的高级框架。 Theano的简单性和成熟性仍然吸引了许多数据科学家继续使用它。
Theano有助于定义、优化和评估几种数学过程。 此外,Theano可以自动找出如何在各处自动估计梯度,允许您使用梯度下降进行模型训练。
MXNet(Apache MXNet)是一个开源深度学习框架,用于在各种平台上定义、训练和部署深度神经网络,包括云基础设施和移动设备。 使用MXNet创建的模型足够紧凑,可以适应很少的内存量。 因此,您可以快速将其部署到移动设备或连接的设备上。 MXNet代表混合网络,因为它是通过将各种编程方法合并到一个框架中而创建的。 该框架支持各种语言,包括Python、R、C++、Julia、Perl和许多其他语言,消除了学习新语言以使用替代框架的需要。 它还允许开发人员混合命令式和符号编程模型,因为它提供了低级控制和高级开源人工智能API。
与TensorFlow和PyTorch等其他框架一样,MXNet支持多GPU和分布式训练。 它还允许开发人员将神经网络导出用于推理,支持多达八种不同的语言,为机器学习开源研究提供了更大的灵活性。
7. OpenCV?GitHub - opencv/opencv: Open Source Computer Vision Library
?
OpenCV是强大的计算机视觉应用程序工具,包括视频分析、电路电视分析和图像分析。 OpenCV在BSD许可下发布,用于学术和商业用途都是免费的。
基于C++,OpenCV库具有2000多种最先进和经典的算法。 这些算法可以识别图像或视频中的人脸,识别对象并表征视频中人们的情绪和行为。 不仅如此,这个开源人工智能库允许影片和照片以其所有组件进行检查,包括物体运动的轨迹,从这些对象中提取三维模型,以及许多其他用途。
OpenCV库中包含500多个函数,涵盖广泛的视觉主题,如工业产品检查、医学成像、安全性、用户界面、照相机校准、立体视觉和机器人技术。 此外,由于计算机视觉和机器学习通常是交织在一起的,OpenCV还包括一个全面的机器学习库(MLL)。 这个子库主要关注统计模式检测和聚类。 这个机器学习库对于计算机视觉问题非常有效,但它可以用于任何机器学习问题。
8. Fastai?GitHub - fastai/fastai: The fastai deep learning library
?
Fastai是一个著名的开源人工智能项目,用于实现深度学习和机器学习技术。 该库包括用于视觉,文本,表格和时间序列分析以及协同过滤的API。 Fastai v2声称与实现深度学习框架相比,在2020年8月发布时,速度更快,适应性更强。?
Fastai的目的是让深度学习更容易为公众所用。 它结合了Keras的清晰度和开发速度以及PyTorch的可定制性。 Fastai以其易用性、快速生成和高度灵活的分层架构而闻名。
Fastai为满足不同的模型构建需求提供了不同级别的API。 中级API提供了深度学习和数据处理的基本方法,而高级API旨在解决开发人员的问题。 最后,低级API提供了优化的原语和功能性的面向对象基础,允许开发和定制中级API。
9. TFlearn?GitHub - tflearn/tflearn: Deep learning library featuring a higher-level API for TensorFlow.
?
TFlearn是构建在Tensorflow之上的模块化和透明的深度学习库。 它旨在为TensorFlow提供更高级别的API,以使实验更易于访问和更快,同时保持完全透明并与其兼容。 目前,这个高级API支持大多数现代深度学习模型,如卷积网络、LSTM、双向RNN、BatchNorm、PReLU、残差网络和生成网络。
TFlearn由TensorFlow工作系统带来的完全透明性。 它允许非专业人员通过使用通用的高级语言来开发人工智能开源项目,并使研究人员能够在结构化的环境中开发、基准测试和比较他们的新方法。
TFlearn还提供了一套有用的辅助函数,用于训练任何TensorFlow图,包括支持多个输入、输出和优化器。 它还提供了易于理解和有吸引力的图可视化,其中包含有关权重、梯度、激活和更多信息。?
10. HuggingFace Transformers?https://github.com/huggingface/transformers
?
HugginFace的变压器库一直在每个自然语言处理(NLP)从业者的脑海中。 它们为从头开始创建自定义模型或对各种基于变压器的模型进行微调预训练模型提供了用户友好的API。 HugginFace Transformers目前为自然语言理解(NLU)和自然语言生成(NLG)提供通用体系结构,如BERT、GPT-2、XLM、DistilBert、XLNet等,拥有100多种语言的32多种预训练模型。?
HugingFace Transformers 开源库的当前版本不再需要PyTorch来加载模型,可以用三行代码训练最先进(S.O.T.A.)模型,并且可以在不到十行中预处理数据集。 换句话说,HuggingFace声称他们的Transformers库使学者和工程师可以通过消除拓扑,框架和管道的复杂性来使用S.O.T.A.模型。 ?
HugginFace还通过HugginFace变压器库实现了Jax, PyTorch和TensorFlow模型之间的深度互操作性。 这意味着用户可以在模型的生命周期内轻松从一个框架转换到另一个框架,以进行训练和评估。
以上是一些顶级的开源机器学习项目,以供初学者和有经验的数据科学家参与和学习深度学习技术的库。 初学者和专家都可以进一步为这个快速增长的开源人工智能社区做出贡献和开发这些 GitHub 项目。 例如,如果有人在您的代码中发现问题或想要对开源人工智能项目进行修改,他们可以在 GitHub 上分叉它并在发送拉取请求之前进行更改。这也可以有双重好处。 开发人员可以通过在流行的AI项目中添加新功能或修复问题来展示自己的专业知识,同时也帮助开源社区。