8800个机器学习开源项目为你精选TOP30!

授权自AI科技大本营(ID: rgznai100)

本文共图文结合,建议阅读5分钟
本文为大家带来了30个广受好评的机器学习开源项目。



最近,Mybridge发布了一篇文章,对比了过去一年中机器学习领域大约8800个开源项目后,选出30个2017年度优秀的开源项目,包含机器学习开源库、数据库以及其他应用程序,这些项目差不多都是在2017年1-12月发布。Mybridge AI通过受欢迎度、参与度以及其他方面对开源项目进行评定。


对于机器学习者来说,阅读开源代码并基于代码构建自己的项目,是一个非常有效的学习方法。看看以下这些Github上平均star为3558的开源项目,你错了哪些


在开始之前,先推荐阅读


A. 神经网络:深度学习 A-ZTM : 亲手搭建人工神经网络(推荐次数68,745 , 4.5/5 stars)


链接:http://bit.ly/2CH1WcQ



B. 用Python进行深度学习的TensorFlow的完整指南(推荐次数17,834, 4.6/5 stars)


链接:http://bit.ly/2EatVy7



接下来是Mybridge精选的Top 30的项目:


1. FastText:快速文本表示和文本分类库(Github上有11786颗星,贡献者Facebook Research


源码链接:https://github.com/facebookresearch/MUSE



2. Deep-photo-styletransfer:“Deep Photo Style Transfer” 这篇论文的源码和数据。(GitHub 9747颗星,论文来自于康奈尔大学的Fujun Luan)


源码链接:https://github.com/luanfujun/deep-photo-styletransfer



3. 用Python和命令行来实现的最简单的面部识别API(GitHub 8672颗星,贡献者Adam Geitgey)  


源码链接:https://github.com/ageitgey/face_recognition




4. Magenta:利用机器智能生成音乐和美术艺术品(GitHub 8113颗星)


源码链接:https://github.com/tensorflow/magenta



5. Sonnet:基于TensorFlow的神经网络库(GitHub 573颗星,贡献者是DeepMind的Malcolm Reynolds )


源码链接:https://github.com/deepmind/sonnet




6. deeplearn.js: 一个用于Web的硬件加速机器学习库(GitHub 5462颗星,贡献者是Google Brain的Nikhil Thorat)


源码链接:https://github.com/PAIR-code/deeplearnjs



7. 基于TensorFlow的快速风格迁移库(GitHub 4843颗星,贡献者是MIT的Logan Engstrom)


源码链接:https://github.com/lengstrom/fast-style-transfer



8. Pysc2: 星际争霸2学习环境(GitHub 3684颗星,贡献者是DeepMind的Timo Ewalds)


源码链接:https://github.com/deepmind/pysc2



9. AirSim: Microsoft AI & Research开源的基于虚幻引擎的开源模拟器,用于自动驾驶(GitHub 3861颗星,贡献者是Microsoft的Shital Shah)


源码链接:https://github.com/Microsoft/AirSim



10. acets: 机器学习数据集的可视化工具(GitHub 3371颗星,由Google Brain贡献)


源码链接:https://github.com/PAIR-code/facets



11. Style2Paints:用AI技术为线稿快速上色的工具(GitHub 3310颗星)


源码链接:https://github.com/lllyasviel/style2paints



12. Tensor2Tensor:一个用于广义序列-序列模型的库 - Google Research(GitHub 3087颗星,贡献者是Google Brain的Ryan Sepassi)


源码链接:https://github.com/tensorflow/tensor2tensor



13. 基于Pytorch实现的图片-图片转换(GitHub 2847颗星,贡献者Berkeley的Jun-Yan Zhu, Ph.D)


源码地址:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix



14. Faiss:用于密集向量的高效相似性搜索库和聚类的库(GitHub 2629颗星,贡献者Facebook Research)


源码地址:https://github.com/facebookresearch/faiss



15. Fashion-minist:类似于MNIST的时尚产品数据集(GitHub 2780颗星,贡献者是Zalando Tech的Han Xiao)


源码链接:https://github.com/zalandoresearch/fashion-mnist



16. ParlAI: 一个可用在各种公开可用的对话数据集上训练和评估AI模型的框架(GitHub 2578颗星,贡献者是Facebook 的Alexander Miller)


源码链接:https://github.com/facebookresearch/ParlAI



17. Fairseq:Facebook AI Research的序列-序列工具包(GitHub 2571颗星)


源码链接:https://github.com/facebookresearch/fairseq



18. Pyro:基于Python和PyTorch的深度通用概率编程(GitHub 2387颗星,贡献者Uber Engineering)


源码链接:https://github.com/uber/pyro



19. iGAN:基于GAN的交互式图像生成(GitHub 2369颗星)


源码地址:https://github.com/junyanz/iGAN



20. Deep-image-prior:用神经网络恢复图像(GitHub 2188颗星,贡献者是Skoltech的Dmitry Ulyanov, Ph.D)


源码地址:https://github.com/DmitryUlyanov/deep-image-prior



21. 人脸分类:基于 Keras CNN 模型与 OpenCV ,使用fer2013/imdb 数据集进行实时面部检测和表情/性别分类(GitHub 1967颗星)


源码地址:https://github.com/oarriaga/face_classification



22. Speech-to-Text-WaveNet:使用DeepMind的WaveNet和TensorFlow进行端到端句级英语语音识别(GitHub 1961颗星,贡献者是Kakao Brain的Namju Kim)


源码地址:https://github.com/buriburisuri/speech-to-text-wavenet



23. StarGAN: 用于多域图像-图像转化的统一生成对抗网络(GitHub 1954颗星,贡献者Korea University的Yunjey Choi)


源码地址:https://github.com/yunjey/StarGAN



24. MI-agents:Unity机器学习代理(GitHub 1658颗星,贡献者Unity3D的Arthur Juliani)


源码地址:https://github.com/Unity-Technologies/ml-agents



25. DeepVideoAnalytics:一个分布式可视化搜索和数据分析平台(GitHub 1494颗星,贡献者是Cornell University 的Akshay Bhat)


源码地址:https://github.com/AKSHAYUBHAT/DeepVideoAnalytics



26. OpenNMT:Torch上的开源神经机器翻译工具包(GitHub 1490颗星)


源码地址:https://github.com/OpenNMT/OpenNMT



27. Pix2pixHD: 用条件GAN合成和处理2048×1024的图像(GitHub 1283颗星,贡献者是英伟达科学家 Ming-Yu Liu)


源码地址:https://github.com/NVIDIA/pix2pixHD



28. Horovod:TensorFlow 布式 训练框架(GitHub 1188 颗星,贡献者来自Uber )


源码地址:https://github.com/uber/horovod



29. AI-Blocks: 一个强大而直观的所见即所得界面,可让任何人创建机器学习模型(GitHub 899颗星)


源码地址:https://github.com/MrNothing/AI-Blocks



30. Tensorflow实现的用于语音风格转换的深度神经网络(GitHub 845颗星,贡献者是Kakao Brain AI团队的Dabi Ahn)


源码地址:https://github.com/andabi/deep-voice-conversion 


原文链接:

https://medium.mybridge.co/30-amazing-machine-learning-projects-for-the-past-year-v-2018-b853b8621ac7


  • 57
    点赞
  • 457
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
OpenCV 是一个基于开源许可的计算机视觉库,它提供了一些常见的算法和工具,可以用于图像处理、计算机视觉、机器学习等领域。下面是一个使用 OpenCV C++ 实现的简单项目示例: 1. 人脸检测 在 OpenCV 中,使用 Haar 特征分类器可以进行人脸检测。以下是人脸检测的示例代码: ```c++ #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace std; int main(int argc, const char** argv) { // 加载人脸分类器 CascadeClassifier faceCascade; faceCascade.load("haarcascade_frontalface_alt.xml"); // 打开摄像头 VideoCapture cap(0); if (!cap.isOpened()) { cout << "无法打开摄像头!" << endl; return -1; } // 不断读取摄像头数据 while (true) { Mat frame; cap >> frame; // 转换为灰度图像 Mat gray; cvtColor(frame, gray, COLOR_BGR2GRAY); // 调整图像大小,加速检测 resize(gray, gray, Size(), 0.5, 0.5); // 检测人脸 vector<Rect> faces; faceCascade.detectMultiScale(gray, faces, 1.1, 2, 0, Size(30, 30)); // 绘制矩形框标记人脸 for (int i = 0; i < faces.size(); ++i) { rectangle(frame, Point(faces[i].x * 2, faces[i].y * 2), Point((faces[i].x + faces[i].width) * 2, (faces[i].y + faces[i].height) * 2), Scalar(0, 255, 0), 2); } // 显示图像 imshow("人脸检测", frame); // 检测按键 int key = waitKey(30); if (key == 27) // ESC { break; } } // 关闭摄像头 cap.release(); return 0; } ``` 2. 图像识别 OpenCV 中的 DNN 模块提供了深度学习模型的支持,可以用于图像识别和目标检测等任务。以下是一个使用预训练模型进行图像识别的示例代码: ```c++ #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace std; int main(int argc, const char** argv) { // 加载预训练模型 dnn::Net net = dnn::readNetFromTensorflow("frozen_inference_graph.pb", "graph.pbtxt"); // 打开图像 Mat image = imread("image.jpg"); if (image.empty()) { cout << "无法打开图像!" << endl; return -1; } // 调整图像大小,加速识别 resize(image, image, Size(300, 300)); // 创建 Blob Mat blob = dnn::blobFromImage(image, 1.0, Size(300, 300), Scalar(127.5, 127.5, 127.5), true, false); // 输入 Blob 到网络中进行识别 net.setInput(blob); Mat output = net.forward(); // 解析输出结果 Mat detectionMat(output.size[2], output.size[3], CV_32F, output.ptr<float>()); for (int i = 0; i < detectionMat.rows; ++i) { float confidence = detectionMat.at<float>(i, 2); if (confidence > 0.5) { int left = static_cast<int>(detectionMat.at<float>(i, 3) * image.cols); int top = static_cast<int>(detectionMat.at<float>(i, 4) * image.rows); int right = static_cast<int>(detectionMat.at<float>(i, 5) * image.cols); int bottom = static_cast<int>(detectionMat.at<float>(i, 6) * image.rows); // 绘制矩形框标记识别结果 rectangle(image, Point(left, top), Point(right, bottom), Scalar(0, 255, 0), 2); } } // 显示图像 imshow("图像识别", image); waitKey(0); return 0; } ``` 以上是 OpenCV C++ 的两个示例项目,希望对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值