导航

内容来源于网络

前言

分享Github开源项目,在玩的过程中学习,2023年每天的目标就是研究几个项目,寻找点乐趣。

开源项目

001.MLAlgorithms

常见的机器学习算法,Python 实现:

002.captcha_break

使用深度学习来破解 captcha(python 生成验证码的库)验证码。该项目会通过 Keras 搭建一个深度卷积神经网络来识别 captcha 生成的图片验证码,建议使用显卡来运行该项目。可视化代码都是在 jupyter notebook 中完成的,如果你希望写成 python 脚本,稍加修改即可正常运行

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from captcha.image import ImageCaptcha
import matplotlib.pyplot as plt
import numpy as np
import random

%matplotlib inline
%config InlineBackend.figure_format = 'retina'

import string
characters = string.digits + string.ascii_uppercase
print(characters)

width, height, n_len, n_class = 170, 80, 4, len(characters)

generator = ImageCaptcha(width=width, height=height)
random_str = ''.join([random.choice(characters) for j in range(4)])
img = generator.generate_image(random_str)

plt.imshow(img)
plt.title(random_str)
003.ChatBotCourse

该项目介绍了如何自己动手做聊天机器人。全面地介绍了所需要的技术:自然语言识别、分词、语料库、机器学习等,包含所需的 Java 和 Python 代码

004.pytorch-book

书籍《深度学习框架 PyTorch:入门与实践》的示例代码,可以作为一个独立的 PyTorch 入门指南和教程。

内容结构如下图所示:

005.ncnn

腾讯开源的一个为手机端极致优化的高性能神经网络前向计算框架

006.tutorials

机器学习入门教程,十分详细包含视频教程、文字教程

007.ColossalAI

高效的分布式人工智能训练系统。它能帮助用户在提升人工智能训练效率的同时降低训练成本,从而适应快速迭代的算法和模型,将 AI 大模型以低成本便捷推广到更多应用场景

008.DeepLeague

英雄联盟的机器学习项目,规模不大,适合研究一些 CV 和 ML 的算法应用

009.tensorflow-docs

TensorFlow Docs 是由掘金翻译计划实时维护的 TensorFlow 官方文档中文版,维护者为全球各大公司开发人员和各著名高校研究者及学生

010.deeplearningbook-chinese

Deep Learning 中文版

011.EffectiveTensorflow

TensorFlow 最佳实践

012.TensorFlow-World

简单易用的 TensorFlow 教程

013.angel

腾讯开源的高性能分布式机器学习平台,具有广泛的适用性和稳定性,模型维度越高。它将高维度的大模型合理切分到多个参数服务器节点,并通过高效的模型更新接口和运算函数,以及灵活的同步协议,可以实现各种高效的机器学习算法

014.nndl.github.io

《神经网络与深度学习》该课程主要介绍神经网络与深度学习中的基础知识、主要模型(卷积神经网络、递归神经网络等)以及在计算机视觉、自然语言处理等领域的应用。在线阅读

015.pwc

深度学习、机器学习论文集合(英文)

016.100-Days-Of-ML-Code

《机器学习 100天》中文版

017.AIAlpha

使用无监督学习和监督学习来预测股票,有趣的项目。

018.awesome-machine-learning

一个精选的机器学习框架、库、软件的集合项目

019.bert

一种新的语言表征模型,来自 Transformer 的双向编码器表征。目前最强 NLP 预训练模型,横扫 11 项 NLP 任务记录

020.deepvariant

一个数据分析工作流。能够使用深度神经网络从下一代 DNA 序列数据中调用遗传变异体,联想到了最近的基因编辑人类事件。

关于如何工作的技术细节,如下图:

021.fastai

利用当前最好的深度学习算法简化训练神经网络的过程。包含了很多“开箱即用”的工具,支持 Vision、Collab 等模型。

022.deep-learning-papers-translation

主要内容是 CV 领域里一些论文的翻译,包括分类、检测、OCR和模型轻量化。

023.MTCNN_face_detection_alignment

人脸检测领域经典之作,出自 2016 年 ECCV 一篇论文

目前在工业应用中落地比较成功,很多公司检测模块运用 MTCNN 或者其加速版,MTCNN 将人脸检测和关键点检测通过一个模型作为 MultiTasks 的方式进行训练,inference 时候可同时得到人脸框信息和关键点信息

024.S3FD.pytorch

该项目是论文 S3FD:Single Shot Scale-invariant Face Detector 的 pytorch 复现版本。S3FD 目前在 FDDB 的评测中排在前几位,属于精度较高的人脸检测方法。论文主要解决人脸尺度问题,进一步提升对小脸的检测

025.SSH

该项目是 ICCV2017 论文 SSH:Single Stage Headless Face Detector

作者自己开源的项目,算是官方开源项目,具有一定的权威性。SSH 也算是人脸检测中一个经典的方法,具有较高的精度和较快的速度。项目实现了论文中的很多细节,对复现过程也有详细的讲解,容易实现。美中不足的是论文中的 Pyramid 方式,该项目没有实现

026.RecommenderSystem-Paper

推荐系统论文整理列表,包括了行业顶尖会议 AAAI、NIPS 等发表的论文,以及 KDD 一些获奖论文。方便推荐系统方向以及文本表示方向等研究人员,跟踪阅读行业内经典论文和最新研究方向

027.Semantic-Segmentation-Suite

图像语义分割模型组件整理,包含了模型、数据增广、准确率评价等模块。方便研究者快速搭建和试验一个图像语义分割模型,同时集成了一些 state-of-the-art 的模型

028.spinningup

(英文)OpenAI 制作的教育资源,可以更容易地学习深层强化学习。官方项目,浅显易懂,提供练手的例子,方便初学者或对深层强化学习感兴趣的人群学习和入门

029.the-gan-zoo

生成对抗网络(Generative Adversarial Networks,简称GAN)的一个大集合,作者列举了生成对抗网络领域各式各样的应用集合,大部分为论文,包含少数的 GitHub 项目。该项目对于 GAN 领域覆盖面全面,论文列表整理清晰,GAN 方向的研究者可以从这个项目中查询到想看的经典的论文或者扩充自己的知识储备

030.transformers

Google 神级语言表示模型的 PyTorch 预训练模型和 PyTorch 框架结合,使得更加容易上手。PyTorch 版本更方便小白上手实验。

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
>>> import requests
>>> from PIL import Image
>>> from transformers import pipeline

# Download an image with cute cats
>>> url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/coco_sample.png"
>>> image_data = requests.get(url, stream=True).raw
>>> image = Image.open(image_data)

# Allocate a pipeline for object detection
>>> object_detector = pipeline('object-detection')
>>> object_detector(image)
[{'score': 0.9982201457023621,
'label': 'remote',
'box': {'xmin': 40, 'ymin': 70, 'xmax': 175, 'ymax': 117}},
{'score': 0.9960021376609802,
'label': 'remote',
'box': {'xmin': 333, 'ymin': 72, 'xmax': 368, 'ymax': 187}},
{'score': 0.9954745173454285,
'label': 'couch',
'box': {'xmin': 0, 'ymin': 1, 'xmax': 639, 'ymax': 473}},
{'score': 0.9988006353378296,
'label': 'cat',
'box': {'xmin': 13, 'ymin': 52, 'xmax': 314, 'ymax': 470}},
{'score': 0.9986783862113953,
'label': 'cat',
'box': {'xmin': 345, 'ymin': 23, 'xmax': 640, 'ymax': 368}}]
031.AlphaZero_Gomoku

使用 TensorFlow/Pytorch/Theano 实现 AlphaZero 算法,通过自我对弈从零训练五子棋 AI。实现简单、清晰,适合学习、了解 AlphaGo Zero 背后的关键思想和技术细节

032.deep-learning-drizzle

世界计算机名校的深度学习、强化学习、机器学习、计算机视觉、自然语言处理等方面的公开课

033.gpt-2

OpenAI 发布的 15 亿参数量通用语言模型 GPT-2,迄今最大模型!展示了一种构建语言处理系统的潜在方式,即根据自然发生的演示学习执行任务。

034.stanza

适用于多种人类语言的 Stanford NLP 官方 Python 库。包含用于运行 CoNLL 2018 共享任务的最新完全神经管道以及访问 Java Stanford CoreNLP 服务器的软件包。

示例代码:

1
2
3
4
5
>>> import stanza
>>> stanza.download('en') # This downloads the English models for the neural pipeline
>>> nlp = stanza.Pipeline('en') # This sets up a default neural pipeline in English
>>> doc = nlp("Barack Obama was born in Hawaii. He was elected president in 2008.")
>>> doc.sentences[0].print_dependencies()
035.Tensorflow-Cookbook

易学易用的 Tensorflow 教程

036.elasticsearch-spark-recommender

使用 Apache Spark 的机器学习库 (MLlib) 来训练一个协同过滤推荐系统模型 和 Elasticsearch 构建一个推荐系统教程,中文版阅读

037.simplified-deeplearning

《DeepLearningBook》读书笔记

038.FaceDetection-DSFD

腾讯优图的双分支人脸检测器全新算法,该算法已经被计算机视觉顶级会议 CVPR 2019 接收。优图此次提出的 DSFD 人脸检测算法,主要有 3 点创新:

  1. 新的特征增强模块(FEM:Feature Enhance Module)

  2. 分层锚点渐进式的代价函数监督(PLA:Progressive Anchor Loss)

  3. 改进的锚点匹配策略(Improved Anchor Matching Strategy)

039.ICCV2019-LearningToPaint

一个深度强化学习项目,研究如何让机器用画笔画画。也可体验制作自己的绘画或根据一张图片生成一整个绘画过程

040.openpose

基于卷积神经网络和监督学习的开源库,可以实现人的面部、躯干和四肢甚至手指的跟踪。适用于多人,且标记准确,同时具有较好的鲁棒性

041.SPADE

英伟达(NVIDIA)新开源的绘图工具。利用生成对抗网络,根据几根简单的线条就能生成栩栩如生的图像

042.BigGAN-PyTorch

“Bye Bye TPU”,4 个 GPU 就能训练“史上最强” BigGAN!只需 4-8 个 GPU 即可训练,摆脱了算力束缚

043.faceswap

这个工具可以对图片和视频进行换脸。可以很方便地处理图片和视频,搞些有意思的事情

044.GNNPapers

自从卷积神级网络面世以来,大部分人将其应用在规则的空间结构数据当中,比如图像。但是现实中存在更多的并不具备规则的空间结构的数据,因此研究人员提出了处理这部分数据的网络模型-GNN。该项目列举了 GNN 方面的论文,较为全面,适合有一定基础的人阅读

045.QuickDraw

谷歌开发的一个流行的在线游戏,神经网络会猜测你在画什么。神经网络从每幅图画中学习,提高正确猜测涂鸦内容的能力。现在你可以基于这个仓库,用 Python 构建自己的 Quick Draw 游戏

046.Virgilio

本资源库旨在为以下领域提供三种有机完整的学习路径:机器学习、商业智能、云计算。在此你将能够了解相关原理并且在项目实践中予以运用。如果仔细遵循这些学习路径,则可以从零开始构建完整的认识和获得始终可用的技能。事实上,这些学习路径不需要之前有相关知识,但基础编程和简单数学是理解和实践大多数相关概念的必要条件

047.DG-Net

深度学习模型训练时往往需要大量的标注数据,但收集和标注大量的数据往往比较困难。作者在行人重识别这个任务上探索了,利用生成数据来辅助训练的方法。通过生成高质量的行人图像(行人两两换衣),将其与行人重识别模型融合,同时提升行人生成的质量和行人重识别的精度

  1. 不需要额外标注(如姿态 pose、属性 attribute、关键点 keypoints 等),就能生成高质量行人图像。通过交换提取出的特征,来实现两张行人图像的外表互换。这些外表都是训练集中真实存在的变化,而不是随机噪声。

  2. 不需要部件匹配来提升行人重识别的结果。仅仅是让模型看更多训练样本就可以提升模型的效果。给定N张图像,我们首先生成了 NxN 的训练图像,用这些图像来训练行人重识别模型。(下图第一行和第一列为真实图像输入,其余都为生成图像)

  3. 训练中存在一个循环。生成图像喂给行人重识别模型来学习好的行人特征,而行人重识别模型提取出来的特征也会再喂给生成模型来提升生成图像的质量。

048.hub

一个包含计算机视觉、自然语言处理领域的诸多经典模型的聚合中心。这年头有很多 Hub,什么 GitHub、SciHub、xxxxHub 等等,但是最近图灵奖得主 Yann LeCun 强推的 PyTorch-Hub。无论是 ResNet、BERT、GPT、VGG、PGAN 还是 MobileNet 等经典模型,只需输入一行代码,都能实现一键调用!

049.LIS-YNP

一个包含基础教程、提高参考资料、有趣实践项目的 PyTorch 教程。

050.TabNine

基于 OpenAI 的语言模型的代码补全工具。支持 23 种编程语言、5 种编辑器(VS Code、Sublime Text、Atom、Emacs、Vim)、使用简单,效果惊艳

051.dimensionality_reduction_alo_codes

该项目使用 Python 实现了 11 种经典的数据抽取(数据降维)算法。同时附有相关资料、展示效果,适用于机器学习初学者和刚刚入坑数据挖掘的小伙伴

052.Ultra-Light-Fast-Generic-Face-Detector-1MB

1MB 大小的轻量级人脸检测模型。该模型是针对边缘计算设备,基于 libfacedetection 替换压缩网络设计实现

053.Awesome-Multimodal-Research

该项目是收录多模态相关研究的一个精选列表,正在持续更新中。现实世界中的信息通常以不同的模态出现。

例如,图像通常与标签和文本解释联系在一起;文本包含图像以便更清楚地表达文章的主要思想。不同的模态由迥异的统计特性刻画。例如,图像通常表示为特征提取器的像素强度或输出,而文本则表示为离散的词向量。由于不同信息资源的统计特性不同,发现不同模态之间的关系是非常重要的

054.Non-local_pytorch

今天推荐的这个项目是 Nonlocal Net 的第三方实现,实现框架为 PyTorch。项目简明易懂,但是还没有在大型公开数据集上测试过性能。但是附带了一个 MNIST 的样例,可以供读者参考。

Nonlocal Net 是大神 Kaiming He 研究组在图像领域引入 Attention 机制的一篇论文。Nonlocal Net 的提出,引领了一波在图像领域运用注意力机制的浪潮,最近两年该方向论文层出不穷。

Facebook 也开源了一个 Nonlocal Net 在视频分类中的项目,但是框架基于他们维护的 caffe2,读者可以根据自身实际情况进行浏览阅读

055.numpy-cn

这是 NumPy 中文翻译文档。适合任何想了解学习 NumPy 的人,还可以当作手册查阅。如果你是新手朋友,推荐阅读基础文章中的:理解 Numpy、NumPy 简单入门教程、创建 Numpy 数组的不同方式,参考文章里会不定期更新国内外优秀的 Numpy 相关的内容。如果你想徒手实现神经网络可以参看 NumPy 与 神经网络、 NumPy 实现 DNC、RNN 和 LSTM 神经网络算法

056.rasa

一个专门为了多轮人机对话而生的框架。主要包含 Rasa Core、Rasa NLU 两大模块,提供了对话场景、意图理解、实体抽取等功能。用户只需按照平台的语料格式构建自己的语料,便可以方便的进行意图理解和实体抽取的训练。目前使用 Rasa 平台的用户也逐渐多了起来,除了官方文档网上也容易的找到相关的项目,便于学习和上手

057.vmaf

Netflix 开源的视频质量评估算法。一种将人类视觉模型与机器学习结合的评估视频质量的方法,目的是改善观众们的观看体验。

058.face_recognition

上手快速、简单易用的人脸识别库。该库使用 dlib 顶尖的深度学习人脸识别技术构建,在户外脸部检测数据库基准(Labeled Faces in the Wild benchmark)上的准确率高达 99.38%。同时提供了一个简单的面部识别命令行工具,允许您对来自命令行的图像文件夹进行面部识别。完整的开发文档和应用案例,并且兼容树莓派系统(对配置要求低),对于初学者来说可以通过这个项目感受人脸识别或机器学习带来的乐趣。

示例代码:

1
2
3
import face_recognition
image = face_recognition.load_image_file("your_file.jpg")
face_locations = face_recognition.face_locations(image)
059.SSD-Pytorch

完整的目标检测项目。结构简洁明了,中文注释。适宜新手入门、目标检测任务参考,甚至直接基于本项目实现目标检测任务。

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
# 实例化模型:模型的具体各种参数在 Config 文件中进行配置
net = SSD(cfg)
# 将模型移动到 GPU 上,cfg.DEVICE.MAINDEVICE 定义了模型所使用的主 GPU
# 模型的参数更新会在主 GPU 上进行
net.to(cfg.DEVICE.MAINDEVICE)

# 初始化训练器:训练器参数已通过 cfg 进行配置;也可传入参数进行配置(但不建议)
trainer = Trainer(cfg, max_iter=None, batch_size=None,
train_devices=None, model_save_step=None,
model_save_root=None, vis = None, vis_step=None)
# 训练器开始:在数据集上训练模型
trainer(net, train_dataset)
060.albert_zh

海量中文预训练 ALBERT 模型

061.cherry

简单易用的文本分类器。适用多种语言,自带两个预训练模型,使用预训练模型进行分类只需一行代码。使用自己的数据集进行定制训练也只需要十行代码。轻松达到高精确率,召回率。同时该库支持自定义分词算法、分类算法等。

062.ChineseNLPCorpus

中文自然语言处理数据集

063.BentoML

一个机器学习工具用来打包和发布模型。帮助数据科学家用不到 5 分钟把在 ipython notebook 里的模型发布到生产环境

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# 1.Save your trained model with BentoML:
import bentoml

saved_model = bentoml.pytorch.save_model(
"demo_mnist", # model name in the local model store
model, # model instance being saved
)

print(f"Model saved: {saved_model}")
# Model saved: Model(tag="demo_mnist:3qee3zd7lc4avuqj", path="~/bentoml/models/demo_mnist/3qee3zd7lc4avuqj/")

# 2.Define a prediction service in a service.py file:
import numpy as np
import bentoml
from bentoml.io import NumpyNdarray, Image
from PIL.Image import Image as PILImage

mnist_runner = bentoml.pytorch.get("demo_mnist:latest").to_runner()

svc = bentoml.Service("pytorch_mnist", runners=[mnist_runner])

@svc.api(input=Image(), output=NumpyNdarray(dtype="int64"))
def predict(input_img: PILImage):
img_arr = np.array(input_img)/255.0
input_arr = np.expand_dims(img_arr, 0).astype("float32")
output_tensor = mnist_runner.predict.run(input_arr)
return output_tensor.numpy()

# 3.Create a bentofile.yaml build file for your ML service:
service: "service:svc"
include:
- "*.py"
python:
packages:
- numpy
- torch
- Pillow

# 4.Now, run the prediction service:
bentoml serve

# 5.Sent a prediction request:
curl -F 'image=@samples/1.png' http://127.0.0.1:3000/predict_image

# 6.Build a Bento and generate a docker image:
$ bentoml build
Successfully built Bento(tag="pytorch_mnist:4mymorgurocxjuqj") at "~/bentoml/bentos/pytorch_mnist/4mymorgurocxjuqj/"

$ bentoml containerize pytorch_mnist:4mymorgurocxjuqj
Successfully built docker image "pytorch_mnist:4mymorgurocxjuqj"

$ docker run -p 3000:3000 pytorch_mnist:4mymorgurocxjuqj
Starting production BentoServer from "pytorch_mnist:4mymorgurocxjuqj" running on http://0.0.0.0:3000
064.lihang-code

机器学习领域经典书籍《统计学习方法》的课件和代码。这个项目提供了课件、代码资源,叙述从具体问题或实例入手,由浅入深,阐明思路,给出必要的数学推导,便于读者掌握统计学习方法的实质,学会运用

065.maskrcnn-benchmark

Facebook 开源的 PyTorch 版本的 Mask-RCNN。研究人员可以按照教程、示例代码逐步进行实现

066.mlcourse.ai

一套机器学习课程。课程全面细致,同时带有 demo 以及进阶的 Kaggle 比赛的样例,非常适合初学者逐步的深入学习

067.stanford-cs-229-machine-learning

斯坦福 CS229 教程讲义文档,该文档内容细致、条理清晰,方便入门者作为读书笔记学习。中文版

068.awesome-bert

与 bert 相关的 nlp 论文、应用、资源集合。紧跟自然语言处理发展前沿,便于加速开展相关研究工作

069.deeplearning-models

各种深度学习架构、模型和技巧的集合。TensorFlow 和 PyTorch 的各种深度学习架构、模型和技巧的 Jupyter 集合,非常适合学习

070.ImageMiniLab

图像迷你实验室,可进行图像实验、处理、分析。使用 PyQt5 结合 opencv-python 实现代码简洁易读,通过该工具可以快速演示图像算法效果,便于 cv 入门学习

071.PyTorch-NLP

简称 torchnlp 是一个支持快速原型设计(包括数据集和神经网络层)的 PyTorch-NLP 工具包。该库封装好了神经网络层、文本处理模块和数据集库,有利于加速自然语言处理研究和实践。

072.xlnet

CMU 全新 XLNet 预训练模型。BERT 带来的影响还未平复,CMU 与谷歌大脑提出的 XLNet 在 20 个任务上的表现超过了 BERT,并在 18 个任务上取得了当前最佳效果。令人激动的是目前 XLNet 已经开放了训练代码和大型预训练模型。

073.ML-NLP

该项目总结了机器学习、NLP 面试中常考到的知识点和代码实现

074.MNN

一个轻量级的深度神经网络推理引擎,在端侧加载深度神经网络模型进行推理预测。

架构设计如下:

075.openpilot

comma.ai 开源的自动驾驶系统

076.cnn-convoluter

一个支持交互的展示卷积过程的可视化工具

谁先眨眼谁就输了的游戏。使用 React + Flask + Dlib 技术实现的“眨眼就输了”在线游戏,虽然是个 demo 级别的项目,但是很有意思可以在本地运行起来找朋友一起玩一下

078.waifu2x

基于机器学习把图片、照片变得高清。该项目使用卷积神经网络对图片进行 1-2 倍的无损放大操作,支持降噪保证图片质量。在线尝试

079.data-science-ipython-notebooks

数据科学的 IPython 集合。包含:TensorFlow、Theano、Caffe、scikit-learn、Spark、Hadoop、MapReduce、matplotlib、pandas、SciPy 等方方面面

080.djl

亚马逊开源的一款基于 Java 语言的深度学习框架。对于 Java 开发者而言,可以在 Java 中开发及应用原生的机器学习和深度学习模型,同时简化了深度学习开发的难度。通过 DJL 提供直观的、高级的 API,Java 开发人员可以训练自己的模型,或者利用数据科学家用 Python 预先训练好的模型来进行推理。如果您恰好是对学习深度学习感兴趣的 Java 开发者,那么这个项目完全对口。

081.Surprise

一款简单易用基于 Python scikit 的推荐系统。如果你想用 Python 上手做一套推荐系统,那你可以试试它

082.mlflow

一个简化机器学习开发的平台,支持跟踪实验、代码打包、部署模型等。它提供了一套轻量级的 API,可与目前主流机器学习 TensorFlow、PyTorch、XGBoost 等库轻松整合

083.snownlp

一个 Python 写的自然语言处理库。使用简单、功能强大,支持中文分词、词性标注、情感分析等

084.video-object-removal

通过 Pytorch 实现绘制一个边界框,即可删除视频中要删除的对象。下图是演示操作,框中红色是抹掉的部分,删除前后的效果对比图可进到项目首页查看

085.faceai

一款优秀入门级 AI 项目以及教程,内容涵盖:人脸、视频、文字的检测和识别。他不仅包含最基本的人脸检测、识别(图片、视频)、轮廓标识、头像合成(给人戴帽子),还有表情识别(生气、厌恶、恐惧等)、视频对象提取、图片修复(可用于水印去除)、图片自动上色等等。

推荐这个开源项目不是因为它的内容强大,而是它的教程写的实在太好了,真 · 入门级。手把手教你如何使用这个项目,做出上述功能来。在每篇功能文章的教程里,不仅仅写了每个功能的技术实现方案,还有具体重点关键代码的注释和解释以及具体实现,让你非常轻松的能够看懂、学习和使用。对于想要入门或者了解机器学习的初学者不能再友好了。

086.3d-photo-inpainting

一个把单张静态照片转化成 3D 图片的项目。快来尝鲜啦,不要等朋友圈 3D 照片刷屏后才“后知后觉”

087.google-research

非官方整理的 Google AI Research 集合项目

088.Retinanet-Pytorch

一个以 Pytorch 深度学习库实现的 retinanet 目标检测模型。项目拥有清晰的结构、完善的注释以及详细的使用说明。适用于有些许深度学习基础的初学者进行学习或在实际的目标检测项目中使用

089.computervision-recipes

计算机视觉系统最佳实践,包含各种 CV 示例项目。示例使用 PytTorch 深度学习库+ Jupyter 文件,涵盖:图像分类、相似、识别、追踪等方面,适合对图像方面感兴趣的小伙伴阅读和学习

090.nsfw-filter

基于 tensefow.js 实现的过滤 NSFW(裸露、暴力等)图片的浏览器插件

091.seq2seq-couplet

基于深度学习的对对联项目,你出上联它自动生成下联。我尝试了下,对得三观很正,还挺有意思。在线尝试

092.pycorrector

中文文本纠错工具。音似、形似错字(或变体字)纠正,可用于中文拼音、笔画输入法的错误纠正。依据语言模型检测错别字位置,通过拼音音似特征、笔画五笔编辑距离特征及语言模型困惑度特征纠正错别字。解决了在文本识别模型处理后,对识别结果中个别词汇错误进行纠错

093.autokeras

Keras 官方出品基于 Keras 的 AutoML 系统。支持 CPU 和 GPU 训练,傻瓜式 API,3 行代码就能训练一个模型。目前支持的任务:图像分类、图像回归、文本分类、结构化数据分类等。将人从手工选择超参数中解放出来,快速开发原型,官方口号“所有人都能使用机器学习”,官网

094.photo2cartoon

将真实照片转换为卡通风格的开源项目。

095.pose-animator

一个基于 PoseNet 和 FaceMesh 可将你的 Pose 变成 2D 动画的工具。生成的动画人物会根据你的表情和肢体动作做出相应动作,来试试制作你专属的 2D 镜像人吧

096.Real-World-Masked-Face-Dataset

口罩人脸数据集

097.scikit-opt

一个封装了 7 种启发式算法的 Python 代码库。分别是:差分进化算法、遗传算法、粒子群算法、模拟退火算法、蚁群算法、鱼群算法、免疫优化算法。

098.AnimeGANv2

可以将图片和视频转换成漫画风格的工具。采用的是神经风格迁移+生成对抗网络(GAN)的组合,转换速度快。在线尝试

099.best_AI_papers_2021

2021 年必看的人工智能论文列表。该项目不是简单的罗列论文,它不仅包含相关论文的代码、效果展示,还有深入的文章和讲解视频。通过学习这些前沿的人工智能论文,提前了解 AI 在未来更多可能性

100.ML-For-Beginners

微软开源的入门级机器学习教程

101.spleeter

基于 Tensorflow 实现的音轨分离工具。可以用于提取音乐中的人声、鼓、钢琴等乐器

102.DeepMoji

通过深度学习把自然语言转化成 emoji 表情的项目。用机器学习来了解文字表达的情感,最后返回几个感情相近的 emoji 表情。该项目有趣且易于学习,包含机器学习项目该有的所有内容:示例、模型、数据、测试、源码等

103.nanodet

移动端的轻量级 Anchor-Free 目标检测模型。具有体积小(1.8 MB)、速度快(10.23 ms)、便于训练(硬件要求低)、部署简单(安卓示例)等优点

104.VNN

高性能、轻量级的神经网络部署框架。支持人脸关键点检测、卡通图像风格化、天气场景识别等功能,打包全部功能后的 SDK 体积还不到 3 MB,适用于 Android、iOS 等操作系统

105.pulse

根据包含马赛克的人脸图像,生成一张相似容貌的结果。注意不是复原哦,仅可用于人脸

106.Surface-Defect-Detection

该项目整理了目前大量靠谱的表面缺陷检测数据集,还有最新的顶会论文以及作者的解读笔记。

107.avatarify-python

视频会议实时换脸工具。利用机器学习训练的模型,通过捕捉人脸动作并与图片相结合进行实时渲染的方式,达到实时换脸的效果。支持 OBS、Zoom、Skype、Teams、Slack 等直播和会议软件

108.AI-Expert-Roadmap

人工智能学习路线图

109.Real-Time-Person-Removal

在 Web 浏览器中实时移除人像。该项目采用 JavaScript+TensorFlow.js 实现“凭空消失”

110.best-of-ml-python

优秀的 Python 机器学习相关开源库集合。该项目会根据收录的开源项目各项指标计算得出一个评分,并定期更新

111.fawkes

通过 AI 技术保护个人照片隐私的开源项目。芝加哥大学 Sand Lab 团队发起的项目,通过 AI 技术对图片的像素进行一些微调,人眼很难看出修改前后的区别,但对于人脸识别系统来说微调前后是天壤之别的,从而达到保护你照片隐私的效果

112.Paddle

百度开源的深度学习框架。开发便捷的产业级深度学习框架,支持千亿特征、万亿参数、数百节点的大规模训练。官方还为用户提供了免费的算力可用于学习和训练,社区活跃教程齐全对新手友好

113.tinygrad

一款小型的开源深度学习框架。它代码不足 1k 行足够简单,支持深度模型推理与训练。

114.AugLy

Facebook 开源的一个数据增强 Python 库。该库目前支持音频、图像、文本和视频四种模式,一方面可以用现实数据对数据进行增强,另一方面还可以检测出相似内容,消除重复数据带来的干扰

115.Real-Time-Voice-Cloning

克隆某个人说话声音的 AI 项目。仅需几秒音频,就能模仿出原音频的人声

116.DouZero_For_HappyDouDiZhu

基于快手开源的斗地主强化学习框架,实现的欢乐斗地主 AI 助手

117.HyperLPR

中文车牌识别开源框架。支持 Python、Android、C++ 等编程语言调用,接入简单准确度较高。推荐给有车牌识别需求的小伙伴

118.insightface

支持 2D&3D 人脸分析的 Python 库。基于 PyTorch 和 MXNet 实现,采用先进的 ArcFace 人脸识别方法,高效地实现了人脸检测、识别等功能

119.Statistical-Learning-Method_Code

用 Python 实现《统计学习方法》书中的算法

120.imgaug

这是个图像数据增强 Python 库。数据集的数量和质量对于机器学习很重要,而数据增强就是让有限的数据集产生更多的数据,增加训练样本的数量以及多样性。imgaug 就是专为机器学习准备的图像数据增强库

121.GameAISDK

基于图像识别的 AI 自动化框架,支持吃鸡类、射击类、MOBA 类等游戏类型。内置多种图像识别算法和 AI 算法,不用抠图完全基于图像识别的 AI 训练和框架

122.genshin_auto_fish

基于深度学习的原神手游自动钓鱼工具。其中用 YOLOX 搞定鱼的定位和类型的识别以及鱼竿落点的定位,用 DQN 搞定自适应控制钓鱼过程的点击,让力度落在最佳区域内

123.invoice

增值税发票 OCR 识别项目。包含训练好的模型和微服务,启动后可直接通过接口调用

124.ASRT_SpeechRecognition

基于深度学习的中文语音识别系统

125.chineseocr_lite

轻量级中文 OCR 项目,提供将图片上的中文转成字符串的功能

126.optuna

专为机器学习准备的超参数优化框架。采用高效的采样和剪枝策略,支持简单的 Python 语法,仅需少量代码便可进行分布式计算加速优化,除此之外还有更为直观的可视化页面。全方位帮你调参,自动找到最优参数

127.qlib

微软开源的 AI 量化交易平台。它包含了数据处理、模型训练、回测等模块,涵盖了 Alpha 挖掘、风险建模、组合优化等功能

128.Real-ESRGAN

图像超分辨率模型,修复漫画图像的效果惊艳。通过 AI 技术将低分辨率、模糊的图像修复成高清图像,可用于图像放大和提升质量。基于它实现的桌面工具,还有可以直接使用的 Python 脚本

129.DeepLearningProject

哈佛大学开源的深度学习教程

130.EasyOCR

支持多种语言的即用型的 Python OCR 库,包括中文、日文、韩文等。

131.examples

关于视觉、本文等方面的 PyTorch 的示例集合。包含:使用 Convnets 的图像分类(MNIST)、生成对抗网络(DCGAN)等

132.dalle-mini

根据文字生成图片的 AI 模型。可以按照文字提示自动生成图片,我试了下感觉生成的图片有些“抽象”。

133.shap

解释机器学习模型输出的库。它基于博弈论中的 Shapley Value 理论,将所有特征视为贡献者,然后计算每个特征对于模型输出结果的贡献。

134.instant-ngp

加速训练 NeRF 模型的项目。英伟达开源的最快只需 5 秒,训练出一只狐狸 NeRF 模型的技术。即根据静态的 2D 图片通过神经网络建模,快速训练出可以放大且从任何角度观察都清晰的图片

135.fauxpilot

自建 GitHub Copilot 服务。它采用 NVIDIA 的 Triton Inference Server 的 SalesForce CodeGen 模型,自建 AI 编码辅助服务。支持接入 VSCode Copilot 插件,使用起来十分方便。

136.mmdetection

OpenMMLab 开源的目标检测工具箱。基于 PyTorch 的目标检测开源工具箱,支持 Faster R-CNN、Mask R-CNN、RetinaNet 等主流算法。

137.awesome-automl-papers

汇集了自动机器学习(AutoML)相关的论文、文章、教程等资源的项目

138.deep-learning-for-image-processing

深度学习在图像处理方面的教程。该项目配以视频的方式介绍知识点和搭建方法,对应的 PTT 在 course_ppt 目录下

139.jina

一款易用的神经搜索框架。神经搜索是指用非结构化数据,搜索非结构化数据。Jina 简化了神经搜索系统的搭建流程,使开发者可以快速构建以图搜图、以文字搜图、问答机器人、照片去重、海量标签分类等应用

140.machine_learning_complete

全面的机器学习教程库。一份包含 30 多个 Jupyter Notebook 的集合库,内容涵盖机器学习所需的 Python 基础,数据操作、清洗、分析、可视化常用的库和工具,以及经典机器学习、NLP、计算机视觉等算法,一份面面俱到的机器学习入门教程

141.mindsdb

用 SQL 开启机器学习的数据库。把机器学习引入 SQL 数据库将模型作为虚拟表(AI-table),从而省去了数据准备、预处理等步骤,可以直接用 SQL 查询时间序列、回归、分类预测的结果,实现简化机器学习开发流程的效果

142.WantWords

拯救词穷的字典。由清华大学 NLP 实验室开源,可以根据你的意思返回相关词汇,有效解决词穷、话到嘴边说不出来的窘境。在线尝试

143.motion-diffusion-model

根据文本生成 3D 人体运动的模型。论文《Human Motion Diffusion Model》第一作者开源的 PyTorch 实现。

144.whisper

OpenAI 开源的多语言识别系统。该项目是强大的自动语音识别系统,支持包括中文在内的多种语言识别。尤其是在快语速、口音、背景噪音等场景,依旧表现出色,能够达到极高的准确率。

145.flair

简单易用的 NLP 框架。基于 PyTorch 的 NLP 框架,支持文本命名实体识别(NER)、词性标注(PoS)、词义消歧和分类。项目中包含详细的使用教程,介绍了如何标记文本、训练语言模型等。

146.paper-reading

深度学习论文精读集合。李沐发起的深度学习领域经典、最新论文精读视频集合。

147.paper2gui

面向非编程人员的 AI 应用工具箱。该项目提供了多款免安装下载即用的 AI 工具,功能涵盖语音合成、视频补帧、图像风格转化、目标检测、OCR 识别等方面,让编程小白也能轻松拥有 AI “魔法”。

148.stable-diffusion

可以根据文字生成图片的模型。只要输入一段文字描述,就能得到一张由 AI 生成的图片,除此之外该项目还支持将粗糙的草图转化成精致的艺术图片。

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# make sure you're logged in with `huggingface-cli login`
from torch import autocast
from diffusers import StableDiffusionPipeline

pipe = StableDiffusionPipeline.from_pretrained(
"CompVis/stable-diffusion-v1-4",
use_auth_token=True
).to("cuda")

prompt = "a photo of an astronaut riding a horse on mars"
with autocast("cuda"):
image = pipe(prompt)["sample"][0]

image.save("astronaut_rides_horse.png")
149.style2paints

一款给线稿上色的 AI 辅助工具。能够帮助用户给没有上色的图片,快速完成上色的 AI 工具,上色效果广受好评,完全免费开箱即用。

150.DeOldify

一款可以给老旧照片上色的项目。该项目基于深度学习实现了对黑白图像和视频进行着色的功能。

151.wandb

一款轻量级的机器学习可视化工具。该项目是用于可视化和跟踪机器学习实验的工具,通过几行代码就可以实现跟踪、比较和可视化机器学习实验。

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import wandb

# 1. Start a W&B run
wandb.init(project="gpt3")

# 2. Save model inputs and hyperparameters
config = wandb.config
config.learning_rate = 0.01

# Model training code here ...

# 3. Log metrics over time to visualize performance
for i in range(10):
wandb.log({"loss": loss})
152.AiLearning-Theory-Applying

快速上手 AI 理论及应用实战。该教程包含学习 AI 必备的数学基础,机器学习实战小项目、深度学习入门、自然语言通用框架 BERT 实战,以及大量数据集。

持续更新中…