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

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

CBAM(CVPR 2018)

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

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

這就是訓(xùn)練過程包括兩個步驟的原因:
結(jié)合不良和優(yōu)質(zhì)標(biāo)簽對模型進(jìn)行預(yù)訓(xùn)練
僅在優(yōu)質(zhì)標(biāo)簽上微調(diào)模型
模型超參數(shù):
架構(gòu):ResNet101
問題類型:分類
損失:交叉熵
FC退出率:0.3
輸入大?。海?56,256)
預(yù)測的概率乘以類別標(biāo)簽并求和
數(shù)據(jù)增強(qiáng):
水平翻轉(zhuǎn)
隨機(jī)亮度對比
ShiftScaleRotate
模仿圖像上的其他白棒(桿)
標(biāo)簽擴(kuò)展(以較低的可能性將類標(biāo)簽更改為鄰居類)
使用水平翻轉(zhuǎn)作為TTA
訓(xùn)練過程
預(yù)訓(xùn)練好和壞標(biāo)簽的混合,共10個時期
微調(diào)優(yōu)質(zhì)標(biāo)簽,持續(xù)50個時期,降低高原學(xué)習(xí)率
系統(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實現(xiàn)
盡管Transformer體系結(jié)構(gòu)已成為自然語言處理任務(wù)的實際標(biāo)準(zhǔn),但其在計算機(jī)視覺中的應(yīng)用仍然受到限制。
在視覺上,注意力要么與卷積網(wǎng)絡(luò)結(jié)合應(yīng)用,要么用于替換卷積網(wǎng)絡(luò)的某些組件,同時保持其整體結(jié)構(gòu)不變。
我們表明,這種對CNN的依賴不是必需的,并且當(dāng)直接應(yīng)用于圖像補丁序列時,純轉(zhuǎn)換器可以很好地執(zhí)行圖像分類任務(wù)。
當(dāng)對大量數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練并傳輸?shù)蕉鄠€識別基準(zhǔn)(ImageNet,CIFAR-100,VTAB等)時,與最先進(jìn)的卷積網(wǎng)絡(luò)相比,Vision Transformer可獲得出色的結(jié)果,而所需的計算資源卻大大減少訓(xùn)練。

項目地址:
https://github.com/kamalkraj/Vision-Transformer
07 tormentor 用pytorch增強(qiáng)圖像數(shù)據(jù)

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