【導讀】給大家分享一些 Kaggle 上的資源,如 Kaggle 開放的數據集,也會分享一些好的競賽方案或有意義的競賽經驗,幫助大家成長。今天,我們要給大家介紹的這個工具特別推薦給以往只能仰望別人的,缺乏競賽技能和經驗的朋友,你不需要寫一行代碼就可以參與 Kaggle 競賽,甚至連安裝環境都免了。是不是很神奇?下面我們一起 get 一下這個“真香”的工具!
參賽項目
Freesound Audio Tagging 2019
Kaggel 的競賽項目 Freesound Audio Tagging 2019,同時也是 DCASE 2019 挑戰賽的任務之一(Task 2),今天不對這個競賽做過多介紹,感興趣的朋友們可以通過我們下面給出的鏈接訪問。
Freesound Audio Tagging 2019 是由 Freesound(MTG?—?Universitat Pompeu Fabra)和 Google 機器感知組舉辦的,數據通過 Freesound Annotator 收集,比賽參考論文:
(1)《Audio tagging with noisy labels and minimal supervision》
https://arxiv.org/pdf/1906.02975.pdf
(2)《FREESOUND DATASETS: A PLATFORM FOR THE CREATION OF OPEN AUDIO DATASETS》
https://ismir2017.smcnus.org/wp-content/uploads/2017/10/161_Paper.pdf
隨著 AI 技術的不斷發展與落地,有越來越多的平臺和工具可供大家使用,這些平臺針對不同領域、不同層次的開發者和學習者,只要你想學就有辦法。但問題是,對于剛入門,沒有多少經驗,對 TensorFlow、PyTorch 等工具和框架也不熟悉的人,能參加這樣的競賽嗎?
不會寫代碼,也不會 TensorFlow、PyTorch,怎么訓練模型?
Peltarion 平臺 你值得擁有,訓練你的模型只需 5 步!
Peltarion是怎樣的一個平臺?它部署在云端,在平臺上你只需要簡單的“拖拉拽”就可以從0到1完成一個 AI 模型的創建到部署。平臺給初始者提供了免費使用50 小時、共有50 GB的 GPU存儲容量。
AI科技大本營也注冊了一個賬號,準備利用一下免費資源把模型跑起來。注冊賬號很簡單,先用一個郵箱在平臺上注冊賬號,然后在郵箱中完成驗證,最后設置一個密碼——done。接下來就可以開始進入“正餐”環節,為了能讓大家使用該平臺,原作者和 Kaggle 競賽聯合起來,讓大家可以邊學邊用。
具體步驟示例
0、獲取數據集
模型預訓練中要使用的數據集是 FSDKaggle 2019,已經在 Peltarion 平臺經過預處理,所以音頻文件經過轉化,與 index.csv 一起保存為 Numpy 文件格式,所以,大家直接下載 dataset.zip 即可。
下載地址:
https://www.kaggle.com/carlthome/preprocess-freesound-data-to-train-with-peltarion/output
1、Project:一鍵創建
直接 New 一鍵即可建立一個新 project,可以保存為“project v1”。
2、數據集:Upload 或者 Import
新建的 project v1 在左側就可以看到,點擊 Datasets → New dataset 就可以上傳數據集。然后選擇剛剛下載的數據集,等待上傳,最后命名保存為“Audio”。
默認 80%的數據集作為訓練集,其余20% 用于測試集。在頂部的 New feature set進行捆綁,除 fname 外所有的功能,保存為“Lable”。右上角保存 version 后,就可以進一步建模了。
3、Modeling:一鍵創建深度學習項目
New Experiment 后進入 Modeling 界面,你可以在右側看到“Build”和“Settings”兩個工具選項幫助進行編譯模型。在這個示例中,訓練的是如下圖所示的聲譜圖,以完成圖片分類任務。
在該任務中,我們可以選擇 CNN 網絡模型,比如 ResNetv2 large 50。(右側 Build-Snippets 中,有一些不同任務的模型可供選擇。)
接下來幾個步驟中,我們就在右側欄中設定模型的關鍵配置:
(1)在 Blocks 中添加 Input,Feature 選擇為 fname;
(2)添加 Batch normalization,勾選 Trainable;
(3)添加 Reshape,設置 Target Shape 為(256,256,1);
(4)在 Snippets 中添加 ResNetv2 large 50;
(5)單擊并刪除 ResNetv2 large 50 頂部“Input” 模塊;
(6)將 BN 塊連接到 ResNetv2 large 50 上
(7)更改 Dense 塊 中 Activation 為 ReLU,ReLU 經常在模型中被選為激活函數;
(8)在 Target 塊 之前再添加一個 Dense 塊,節點設置為 80,激活 sigmoid;
(9)將 Target塊 的 Feature 改為 Lable,Loss 為 Binary crossentropy;
(10)跳轉到 Settings 選項卡,配置模型的步長、epoch、優化器等;Batch 設為 28,適合 GPU 內存、epoch 設為 30,模型足以收斂、Optimizer 選為 Adam,這是一個很常用的標準優化器;
(11)上面的配置都完成后,點擊 RUN 就可以讓模型跑起來了。
4、Evaluating
模型訓練后,我們還需要對模型進行評估,在 Evaluating 界面,可以看到模型訓練的實時數據,我們關注的指標是 Precision 和 Recall。模型訓練完成后,可以直接下載,如果訓練了多個模型,記得下載模型精度最高的。
5、提交模型
首先,進入競賽頁面。點擊 New Kernel 連接到 Notebook,將下載的模型 H5 文件作為數據集添加。溫馨提示:要使用正確的 H5 文件路徑,添加下面這行代碼到 Kaggle notebook 中運行,此處注意保存路徑,后面會用到。
!find../input-name'*.h5'
下面這段代碼可以直接復制-粘貼到 Kaggle notebook 中;將模型變量路徑更改為前面保存的路徑,最后點擊 Commit,完成。
import numpy as npimport pandas as pdimport librosa as lrimport tensorflow as tffrom tqdm import tqdmmodel = tf.keras.models.load_model('../input/freesound-audio-tagging-2019-model/resnet50.h5', compile=False) ##Changedf = pd.read_csv('../input/freesound-audio-tagging-2019/sample_submission.csv', index_col='fname') ##Changedef preprocess(wavfile): # Load roughly 8 seconds of audio. samples = 512*256 - 1 samplerate = 16000 waveform = lr.load(wavfile, samplerate, duration=samples/samplerate)[0] # Loop too short audio clips. if len(waveform) < samples: waveform = np.pad(waveform, (0, samples - len(waveform)), mode='wrap') # Convert audio to log-mel spectrogram. spectrogram = lr.feature.melspectrogram(waveform, samplerate, n_mels=256) spectrogram = lr.power_to_db(spectrogram) spectrogram = spectrogram.astype(np.float32) return spectrogramfor fname, scores in tqdm(df.iterrows(), total=len(df), desc='Predicting'): spectrogram = preprocess('../input/freesound-audio-tagging-2019/test/' + fname) scores = model.predict_on_batch(spectrogram[None, ...])[0] df.loc[fname] = scoresdf.to_csv('submission.csv')
競賽地址:
https://www.kaggle.com/c/freesound-audio-tagging-2019
通過上面的示例,大家也發現了,訓練模型的每一個步驟都在平臺上內置好了,大家只需要托拉拽,勾勾選選的操作就可以訓練你的模型了,另外還有一些免費的 GPU 資源、內存使用。對于代碼不會寫,框架不會寫的你們來說簡直不要太好用!營長的模型要準備跑起來了,你們的呢?
-
AI
+關注
關注
88文章
34378瀏覽量
275613 -
數據集
+關注
關注
4文章
1223瀏覽量
25291 -
訓練模型
+關注
關注
1文章
37瀏覽量
3939
原文標題:不寫一行代碼,也能玩轉Kaggle競賽?
文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
奇瑞汽車一行到訪中汽中心
東風汽車會見華為吳輝一行
越南副總理一行到訪商湯科技
首信股份一行蒞臨易華錄調研交流
中碳登一行到訪中汽中心
TFP401AMP第一行丟失4個像素是什么原因導致的?
ADS5404EVM 和TSW1400EVM一起使用就可以開發嗎?
中國中車與中國電信一行座談交流
TAS5782用三線的IIC. LRCK/FS,SCLK,SDIN是否就可以不用接入MCLK實現倍頻?
RIMAC與IMD一行來訪聲揚科技,共話AI語音賦能產業升級

評論