?本周優(yōu)秀開源項目分享:YOLOv4的Pytorch存儲庫、用pytorch增強圖像數據等7大項目

Vector AI是一個框架,旨在使構建基于生產級矢量的應用程序的過程盡可能快速,輕松地進行。與json文檔一起創(chuàng)建,存儲,操縱,搜索和分析向量,以增強神經搜索,語義搜索,個性化推薦建議等應用程序。
主要特點:
多媒體數據向量化:Image2Vec,Audio2Vec等(任何數據都可以通過機器學習轉換為矢量)
面向文檔的存儲:將向量與文檔一起存儲,而無需對向量的元數據進行數據庫查找。
向量相似度搜索:可以使用向量相似度搜索來搜索向量和豐富的多媒體。許多流行的AI用例的骨干,如反向圖像搜索,推薦,個性化等。
混合搜索:在某些情況下,向量搜索不如傳統(tǒng)搜索有效。Vector AI可讓您將向量搜索與傳統(tǒng)搜索的所有功能(例如過濾,模糊搜索,關鍵字匹配)結合起來,以創(chuàng)建功能更強大的搜索。
多模型加權搜索:我們的向量搜索可高度自定義,可以對來自多個模型的多個向量執(zhí)行搜索,并賦予它們不同的權重。
向量操作:靈活的搜索功能,可對向量進行開箱即用的操作。例如均值,中位數,總和等。
匯總:期望的所有傳統(tǒng)匯總。例如按均值分組,數據透視表等
聚類:通過將向量和數據分配到存儲桶中來解釋它們,并根據提供的數據獲取有關這些不同存儲桶的統(tǒng)計信息。
向量分析:通過使用開箱即用的實用向量分析,可以更好地了解向量,從而更好地了解向量的質量。
Vector AI與其他最近鄰實現方案進行比較:
隨時可投入生產:API已得到全面管理,并且可以擴展為每天支持數億次搜索。即使進行了數百萬次搜索,它也通過邊緣緩存,GPU利用率和軟件優(yōu)化而迅速發(fā)展,因此無需擔心隨著用例的擴展而擴展基礎架構。
易于使用??焖偃腴T:核心設計原則之一是專注于人們如何盡快開始使用Vector AI,同時確保仍然有大量功能和可定制性選項。
對向量及其特性的更深入的了解:旨在讓人們做更多的事情,在將數據添加到索引后立即對其進行實際的實驗,分析,解釋和改進。
輕松存儲矢量數據:Vector AI的面向文檔的特性使用戶可以標記,過濾搜索并盡可能地了解其矢量。
實時訪問數據:可以實時訪問Vector AI數據,一旦插入數據就可以立即進行搜索。無需等待數小時即可建立索引。
不可知的框架:我們絕不會在Vector AI上強制使用特定的框架。如果您有選擇的框架,則可以使用它-只要您的文檔可以JSON序列化!
項目地址:
https://github.com/vector-ai/vectorai
這是YOLOv4架構的PyTorch重新實現,它基于官方的Darknet實現AlexeyAB / darknet與PASCAL VOC,COCO和客戶數據集。
SEnet(CVPR 2017)

CBAM(CVPR 2018)

實現結果:
名稱 | 訓練集 | 測試集 | 測試大小 | mAP | 推理時間(ms) | 參數(M) |
mobilenetv2-YOLOV4 | VOC trainval(07+12) | VOC test(07) | 416 | 0.851 | 11.29 | 46.34 |

實現環(huán)境:
Nvida GeForce RTX 2080TI
CUDA10.0
CUDNN7.0
windows or linux
python 3.6
項目地址:
https://github.com/argusswift/YOLOv4-pytorch
OPUS-100是涵蓋100種語言的以英語為中心的多語言語料庫。它是從OPUS集合中隨機抽樣的。
OPUS-100以英語為中心,這意味著所有訓練對在源或目標方都包括英語。語料庫涵蓋100種語言(包括英語)。
我們根據OPUS中可用的并行數據量選擇語言。OPUS集合包括多個語料庫,從電影字幕到GNOME文檔再到圣經。
我們沒有整理數據或嘗試平衡不同域的表示,而是選擇了最簡單的方法,即為每種語言對下載所有語料庫并將它們連接在一起。
數據集分為訓練,開發(fā)和測試部分。我們從每種語言對中隨機抽取多達100萬個句子對進行訓練,并為開發(fā)和測試分別抽取多達2000個句子對。
為了確保訓練數據與開發(fā)/測試數據之間沒有重疊(在單語句子級別上),我們在采樣過程中應用了過濾器以排除已經采樣的句子。請注意,這是跨語言完成的,例如,訓練數據的葡萄牙語-英語部分中的英語句子不會出現在北印度語-英語測試集中。
OPUS-100包含大約5500萬個句子對。在這99個語言對中,有44個具有1M句子對訓練數據,有73個具有至少100k,有95個具有至少10k。
為了支持對zero-short翻譯的評估,我們還對15種阿拉伯語,中文,荷蘭語,法語,德語和俄語配對的數據進行了采樣。過濾用于排除OPUS-100中已有的句子。
項目地址:
https://github.com/EdinburghNLP/opus-100-corpus
04 igel 無需編寫代碼即可訓練,測試和使用模型
一個令人愉悅的機器學習工具,可讓您無需編寫代碼即可訓練/擬合,測試和使用模型。
該項目的目標是為技術用戶和非技術用戶提供機器學習。
有時我需要一個工具,可以用來快速創(chuàng)建機器學習原型。是構建概念驗證還是創(chuàng)建快速草圖模型來證明這一點。我發(fā)現自己經常被困在編寫樣板代碼和/或想太多如何啟動它。
因此,我決定創(chuàng)建igel。希望它將使技術和非技術用戶更輕松地構建機器學習模型。
igel建立在scikit-learn之上。它提供了一種無需編寫任何代碼即可使用機器學習的簡單方法。
您所需要的只是一個yaml(或json)文件,您需要在其中描述您要執(zhí)行的操作。而已!
Igel支持sklearn的所有機器學習功能,無論是回歸,分類還是聚類。準確地說,您可以在igel中使用63種不同的機器學習模型。
Igel支持數據科學領域中最常用的數據集類型。例如,您的輸入數據集可以是您要獲取的csv,txt,excel表格,json甚至是html文件。所有這些類型均受igel支持。在后臺,igel使用熊貓讀取您的輸入數據集并將其轉換為數據框。
項目的點:
從GUI使用
支持大多數數據集類型(csv,txt,excel,json,html)
支持所有最新的機器學習模型(甚至是預覽模型)
支持不同的數據預處理方法
在編寫配置時提供靈活性和數據控制
支持交叉驗證
支持兩種超參數搜索(版本> = 0.2.8)
支持yaml和json格式
支持不同的sklearn指標以進行回歸,分類和聚類
支持多輸出/多目標回歸和分類
支持多處理并行模型構建
支持模型:
回歸模型 | 分類模型 | 聚類模型 |
LinearRegression | LogisticRegression | KMeans |
Lasso | Ridge | AffinityPropagation |
LassoLars | DecisionTree | Birch |
BayesianRegression | ExtraTree | AgglomerativeClustering |
HuberRegression | RandomForest | FeatureAgglomeration |
Ridge | ExtraTrees | DBSCAN |
PoissonRegression | SVM | MiniBatchKMeans |
ARDRegression | LinearSVM | SpectralBiclustering |
TweedieRegression | NuSVM | SpectralCoclustering |
TheilSenRegression | NearestNeighbor | SpectralClustering |
GammaRegression | NeuralNetwork | MeanShift |
RANSACRegression | PassiveAgressiveClassifier | OPTICS |
DecisionTree | Perceptron | ---- |
ExtraTree | BernoulliRBM | ---- |
RandomForest | BoltzmannMachine | ---- |
ExtraTrees | CalibratedClassifier | ---- |
SVM | Adaboost | ---- |
LinearSVM | Bagging | ---- |
NuSVM | GradientBoosting | ---- |
NearestNeighbor | BernoulliNaiveBayes | ---- |
NeuralNetwork | CategoricalNaiveBayes | ---- |
ElasticNet | ComplementNaiveBayes | ---- |
BernoulliRBM | GaussianNaiveBayes | ---- |
BoltzmannMachine | MultinomialNaiveBayes | ---- |
Adaboost | ---- | ---- |
Bagging | ---- | ---- |
GradientBoosting | ---- | ---- |
項目地址:
https://github.com/nidhaloff/igel
問題是根據農民發(fā)送的圖像估算小麥作物的生長階段。模型必須獲取圖像,并以1(僅顯示作物)到7(成熟作物)的比例輸出顯示的小麥生長階段的預測。
數據集具有兩組標簽:不良和良好的質量,但是測試數據集僅由高質量的標簽組成。首先,不良標簽和良好標簽之間沒有明確的對應關系(良好標簽僅包含5個類別:2、3、4、5、7)。
其次,使用簡單的二進制分類器可以輕松地區(qū)分劣質圖像。因此,它們來自不同的分布。查看這種模型的Grad-CAM可以發(fā)現,兩組圖像之間的主要區(qū)別在于這些白棒(極):

這就是訓練過程包括兩個步驟的原因:
結合不良和優(yōu)質標簽對模型進行預訓練
僅在優(yōu)質標簽上微調模型
模型超參數:
架構:ResNet101
問題類型:分類
損失:交叉熵
FC退出率:0.3
輸入大?。海?56,256)
預測的概率乘以類別標簽并求和
數據增強:
水平翻轉
隨機亮度對比
ShiftScaleRotate
模仿圖像上的其他白棒(桿)
標簽擴展(以較低的可能性將類標簽更改為鄰居類)
使用水平翻轉作為TTA
訓練過程
預訓練好和壞標簽的混合,共10個時期
微調優(yōu)質標簽,持續(xù)50個時期,降低高原學習率
系統(tǒng)環(huán)境:
OS: Ubuntu 16.04
Python: 3.6
CUDA: 10.1
cudnn: 7
pipenv
項目地址:
https://github.com/ybabakhin/zindi_wheat_growth
06 Vision-Transformer Vision Transformer Tensorflow 2.0實現
盡管Transformer體系結構已成為自然語言處理任務的實際標準,但其在計算機視覺中的應用仍然受到限制。
在視覺上,注意力要么與卷積網絡結合應用,要么用于替換卷積網絡的某些組件,同時保持其整體結構不變。
我們表明,這種對CNN的依賴不是必需的,并且當直接應用于圖像補丁序列時,純轉換器可以很好地執(zhí)行圖像分類任務。
當對大量數據進行預訓練并傳輸到多個識別基準(ImageNet,CIFAR-100,VTAB等)時,與最先進的卷積網絡相比,Vision Transformer可獲得出色的結果,而所需的計算資源卻大大減少訓練。

項目地址:
https://github.com/kamalkraj/Vision-Transformer
07 tormentor 用pytorch增強圖像數據

設計原則
簡化擴充的定義
每個擴充類的每個實例都是確定性的。
輸入和輸出是pytorch張量,而pytorch在所有計算中都更可取。
默認情況下,所有數據均為4D:[批處理x通道x寬度x高度]。
單個樣本擴充:批次大小必須始終為1。
線程安全:每個擴充實例都必須是線程安全的。
輸入/輸出僅限于一個或多個2D圖像通道。
增強要么保留通道,要么保留像素(空間)。
增強類也將其工廠作為類方法
限制對torch和kornia的依賴(至少對于核心軟件包)。
項目地址:
https://github.com/anguelos/tormentor
本文部分素材來源于網絡,如有侵權,聯系刪除。
回顧精品內容
推薦系統(tǒng)
機器學習
自然語言處理(NLP)
1、AI自動評審論文,CMU這個工具可行嗎?我們用它評審了下Transformer論文
2、Transformer強勢闖入CV界秒殺CNN,靠的到底是什么"基因"
計算機視覺(CV)
1、9個小技巧讓您的PyTorch模型訓練裝上“渦輪增壓”...
GitHub開源項目:
1、火爆GitHub!3.6k Star,中文版可視化神器現身
2、兩次霸榜GitHub!這個神器不寫代碼也可以完成AI算法訓練
每周推薦:
1、本周優(yōu)秀開源項目分享:無腦套用格式、開源模板最高10萬贊
七月在線學員面經分享:
1、 雙非應屆生拿下大廠NLP崗40萬offer:面試經驗與路線圖分享
