0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

不用寫一行就帶就可以參加 Kaggle,這個(gè)真香!

WpOh_rgznai100 ? 來源:lq ? 2019-07-18 10:59 ? 次閱讀

【導(dǎo)讀】給大家分享一些 Kaggle 上的資源,如 Kaggle 開放的數(shù)據(jù)集,也會(huì)分享一些好的競(jìng)賽方案或有意義的競(jìng)賽經(jīng)驗(yàn),幫助大家成長(zhǎng)。今天,我們要給大家介紹的這個(gè)工具特別推薦給以往只能仰望別人的,缺乏競(jìng)賽技能和經(jīng)驗(yàn)的朋友,你不需要寫一行代碼就可以參與 Kaggle 競(jìng)賽,甚至連安裝環(huán)境都免了。是不是很神奇?下面我們一起 get 一下這個(gè)“真香”的工具!

參賽項(xiàng)目

Freesound Audio Tagging 2019

Kaggel 的競(jìng)賽項(xiàng)目 Freesound Audio Tagging 2019,同時(shí)也是 DCASE 2019 挑戰(zhàn)賽的任務(wù)之一(Task 2),今天不對(duì)這個(gè)競(jìng)賽做過多介紹,感興趣的朋友們可以通過我們下面給出的鏈接訪問。

Freesound Audio Tagging 2019 是由 Freesound(MTG?—?Universitat Pompeu Fabra)和 Google 機(jī)器感知組舉辦的,數(shù)據(jù)通過 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 技術(shù)的不斷發(fā)展與落地,有越來越多的平臺(tái)和工具可供大家使用,這些平臺(tái)針對(duì)不同領(lǐng)域、不同層次的開發(fā)者和學(xué)習(xí)者,只要你想學(xué)就有辦法。但問題是,對(duì)于剛?cè)腴T,沒有多少經(jīng)驗(yàn),對(duì) TensorFlow、PyTorch 等工具和框架也不熟悉的人,能參加這樣的競(jìng)賽嗎?

不會(huì)寫代碼,也不會(huì) TensorFlow、PyTorch,怎么訓(xùn)練模型?

Peltarion 平臺(tái) 你值得擁有,訓(xùn)練你的模型只需 5 步!

Peltarion是怎樣的一個(gè)平臺(tái)?它部署在云端,在平臺(tái)上你只需要簡(jiǎn)單的“拖拉拽”就可以從0到1完成一個(gè) AI 模型的創(chuàng)建到部署。平臺(tái)給初始者提供了免費(fèi)使用50 小時(shí)、共有50 GB的 GPU存儲(chǔ)容量。

AI科技大本營(yíng)也注冊(cè)了一個(gè)賬號(hào),準(zhǔn)備利用一下免費(fèi)資源把模型跑起來。注冊(cè)賬號(hào)很簡(jiǎn)單,先用一個(gè)郵箱在平臺(tái)上注冊(cè)賬號(hào),然后在郵箱中完成驗(yàn)證,最后設(shè)置一個(gè)密碼——done。接下來就可以開始進(jìn)入“正餐”環(huán)節(jié),為了能讓大家使用該平臺(tái),原作者和 Kaggle 競(jìng)賽聯(lián)合起來,讓大家可以邊學(xué)邊用。

具體步驟示例

0、獲取數(shù)據(jù)集

模型預(yù)訓(xùn)練中要使用的數(shù)據(jù)集是 FSDKaggle 2019,已經(jīng)在 Peltarion 平臺(tái)經(jīng)過預(yù)處理,所以音頻文件經(jīng)過轉(zhuǎn)化,與 index.csv 一起保存為 Numpy 文件格式,所以,大家直接下載 dataset.zip 即可。

下載地址:

https://www.kaggle.com/carlthome/preprocess-freesound-data-to-train-with-peltarion/output

1、Project:一鍵創(chuàng)建

直接 New 一鍵即可建立一個(gè)新 project,可以保存為“project v1”。

2、數(shù)據(jù)集:Upload 或者 Import

新建的 project v1 在左側(cè)就可以看到,點(diǎn)擊 Datasets → New dataset 就可以上傳數(shù)據(jù)集。然后選擇剛剛下載的數(shù)據(jù)集,等待上傳,最后命名保存為“Audio”。

默認(rèn) 80%的數(shù)據(jù)集作為訓(xùn)練集,其余20% 用于測(cè)試集。在頂部的 New feature set進(jìn)行捆綁,除 fname 外所有的功能,保存為“Lable”。右上角保存 version 后,就可以進(jìn)一步建模了。

3、Modeling:一鍵創(chuàng)建深度學(xué)習(xí)項(xiàng)目

New Experiment 后進(jìn)入 Modeling 界面,你可以在右側(cè)看到“Build”和“Settings”兩個(gè)工具選項(xiàng)幫助進(jìn)行編譯模型。在這個(gè)示例中,訓(xùn)練的是如下圖所示的聲譜圖,以完成圖片分類任務(wù)。

在該任務(wù)中,我們可以選擇 CNN 網(wǎng)絡(luò)模型,比如 ResNetv2 large 50。(右側(cè) Build-Snippets 中,有一些不同任務(wù)的模型可供選擇。)

接下來幾個(gè)步驟中,我們就在右側(cè)欄中設(shè)定模型的關(guān)鍵配置:

(1)在 Blocks 中添加 Input,F(xiàn)eature 選擇為 fname;

(2)添加 Batch normalization,勾選 Trainable;

(3)添加 Reshape,設(shè)置 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 經(jīng)常在模型中被選為激活函數(shù);

(8)在 Target 塊 之前再添加一個(gè) Dense 塊,節(jié)點(diǎn)設(shè)置為 80,激活 sigmoid;

(9)將 Target塊 的 Feature 改為 Lable,Loss 為 Binary crossentropy;

(10)跳轉(zhuǎn)到 Settings 選項(xiàng)卡,配置模型的步長(zhǎng)、epoch、優(yōu)化器等;Batch 設(shè)為 28,適合 GPU 內(nèi)存、epoch 設(shè)為 30,模型足以收斂、Optimizer 選為 Adam,這是一個(gè)很常用的標(biāo)準(zhǔn)優(yōu)化器;

(11)上面的配置都完成后,點(diǎn)擊 RUN 就可以讓模型跑起來了。

4、Evaluating

模型訓(xùn)練后,我們還需要對(duì)模型進(jìn)行評(píng)估,在 Evaluating 界面,可以看到模型訓(xùn)練的實(shí)時(shí)數(shù)據(jù),我們關(guān)注的指標(biāo)是 Precision 和 Recall。模型訓(xùn)練完成后,可以直接下載,如果訓(xùn)練了多個(gè)模型,記得下載模型精度最高的。

5、提交模型

首先,進(jìn)入競(jìng)賽頁面。點(diǎn)擊 New Kernel 連接到 Notebook,將下載的模型 H5 文件作為數(shù)據(jù)集添加。溫馨提示:要使用正確的 H5 文件路徑,添加下面這行代碼到 Kaggle notebook 中運(yùn)行,此處注意保存路徑,后面會(huì)用到。

!find../input-name'*.h5'

下面這段代碼可以直接復(fù)制-粘貼到 Kaggle notebook 中;將模型變量路徑更改為前面保存的路徑,最后點(diǎn)擊 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')

競(jìng)賽地址:

https://www.kaggle.com/c/freesound-audio-tagging-2019

通過上面的示例,大家也發(fā)現(xiàn)了,訓(xùn)練模型的每一個(gè)步驟都在平臺(tái)上內(nèi)置好了,大家只需要托拉拽,勾勾選選的操作就可以訓(xùn)練你的模型了,另外還有一些免費(fèi)的 GPU 資源、內(nèi)存使用。對(duì)于代碼不會(huì)寫,框架不會(huì)寫的你們來說簡(jiǎn)直不要太好用!營(yíng)長(zhǎng)的模型要準(zhǔn)備跑起來了,你們的呢?

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    29435

    瀏覽量

    267735
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1199

    瀏覽量

    24594
  • 訓(xùn)練模型
    +關(guān)注

    關(guān)注

    1

    文章

    35

    瀏覽量

    3794

原文標(biāo)題:不寫一行代碼,也能玩轉(zhuǎn)Kaggle競(jìng)賽?

文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TAS5782用三線的IIC. LRCK/FS,SCLK,SDIN是否就可以不用接入MCLK實(shí)現(xiàn)倍頻?

    我請(qǐng)教下。TAS5782的 MCLK頻率在12.8M,內(nèi)部再倍頻,會(huì)有干擾收音的問題。我想請(qǐng)教下,不用MCLK pin。用三線的IIC.LRCK/FS,SCLK,SDIN.是否就可以
    發(fā)表于 10-23 06:06

    軟通動(dòng)力領(lǐng)導(dǎo)一行訪問福州大學(xué)

    軟通動(dòng)力高級(jí)副總裁王曉良、楊念農(nóng),軟通教育總裁林濤及福建新東湖集團(tuán)有限公司董事長(zhǎng)陳國(guó)平一行來訪福州大學(xué)。校黨委陳國(guó)龍書記在行政南樓會(huì)見了客人并座談交流,郭文忠副校長(zhǎng)陪同會(huì)見。
    的頭像 發(fā)表于 10-10 10:43 ?299次閱讀

    RIMAC與IMD一行來訪聲揚(yáng)科技,共話AI語音賦能產(chǎn)業(yè)升級(jí)

    科技聯(lián)合創(chuàng)始人、CTO陳東鵬博士等展開深入交流,共同探討AI語音技術(shù)在保險(xiǎn)行業(yè)的創(chuàng)新應(yīng)用。RIMAC與IMD一行來訪聲揚(yáng)科技來訪中,RIMAC與IMD一行貴賓深入
    的頭像 發(fā)表于 09-30 10:56 ?577次閱讀
    RIMAC與IMD<b class='flag-5'>一行</b>來訪聲揚(yáng)科技,共話AI語音賦能產(chǎn)業(yè)升級(jí)

    石景山區(qū)委副書記、區(qū)長(zhǎng)李新一行調(diào)研谷東科技

    近日,石景山區(qū)委副書記、區(qū)長(zhǎng)李新一行赴谷東科技有限公司進(jìn)行調(diào)研和座談。石景山區(qū)副區(qū)長(zhǎng)李文化、首鋼基金領(lǐng)導(dǎo)及相關(guān)部門負(fù)責(zé)人隨行。區(qū)領(lǐng)導(dǎo)一行參觀了谷東科技展廳、體驗(yàn)前沿光波導(dǎo)和AR+AI軟硬件產(chǎn)品,并
    的頭像 發(fā)表于 08-13 09:48 ?514次閱讀

    清華PE產(chǎn)投匯一行赴谷東科技考察與交流

    日前,PE產(chǎn)投匯一行赴國(guó)家級(jí)專精特新小巨人校友企業(yè)——谷東科技北京公司進(jìn)行考察與交流。
    的頭像 發(fā)表于 08-13 09:45 ?522次閱讀

    在VSCODE終端make時(shí)遇到錯(cuò)誤要一行一行看然后定位,可以直接跳轉(zhuǎn)點(diǎn)擊或者VSCODE定位錯(cuò)誤嗎?

    每次在VSCODE終端make時(shí)遇到錯(cuò)誤要一行一行看然后定位,可以直接跳轉(zhuǎn)點(diǎn)擊或者VSCODE直接定位錯(cuò)誤嗎?能給個(gè)指引鏈接嗎?謝謝!
    發(fā)表于 06-25 07:37

    甘肅考察團(tuán)一行蒞臨拓維信息參觀調(diào)研

    4月12至13日,甘肅考察團(tuán)一行蒞臨拓維信息調(diào)研,深入
    的頭像 發(fā)表于 04-18 08:14 ?457次閱讀
    甘肅考察團(tuán)<b class='flag-5'>一行</b>蒞臨拓維信息參觀調(diào)研

    CYT2B7使用SDL庫,設(shè)置GPIO時(shí)只用設(shè)置outVal/driveMode/hsiom就可以了嗎?

    再請(qǐng)問大家下,CYT2B7使用SDL庫,設(shè)置GPIO時(shí)只用設(shè)置outVal/driveMode/hsiom就可以了嗎 還有怎么讀取GPIO引腳電平,要用哪個(gè)函數(shù)來讀取, 還有就是,是否能單獨(dú)
    發(fā)表于 02-02 07:02

    ADIS16405 RST管腳是否需要接個(gè)復(fù)位電路?還是空著就可以了?

    請(qǐng)教各位高手,關(guān)于ADIS16405的幾個(gè)問題: 1)硬件接線: RST管腳是否需要接個(gè)復(fù)位電路?還是空著就可以了? 2)READY信號(hào)是否可以不用,而用定時(shí)中斷的方法直接從SPI
    發(fā)表于 01-02 07:21

    只要是兩個(gè)光纖收發(fā)器就可以組成對(duì)使用嗎?

    光纖收發(fā)器有沒有分個(gè)是收個(gè)是發(fā)?還是隨便只要是兩個(gè)光纖收發(fā)器就可以組成對(duì)使用? 光纖收發(fā)器通常是分為個(gè)收發(fā)器模塊和
    的頭像 發(fā)表于 12-07 10:09 ?2140次閱讀

    了解這些就可以搞懂 IGBT

    了解這些就可以搞懂 IGBT
    的頭像 發(fā)表于 11-24 15:47 ?2779次閱讀
    了解這些<b class='flag-5'>就可以</b>搞懂 IGBT

    python多行數(shù)據(jù)合并成一行

    在Python中,有許多不同的方法可以將多行數(shù)據(jù)合并成一行。接下來,我將為您詳細(xì)介紹其中些方法。 方法:使用字符串連接符 最常見的方法是使用字符串連接符“+”來連接每
    的頭像 發(fā)表于 11-24 09:48 ?2192次閱讀

    python如何讓多行輸出為一行

    Python中有多種方法可以將多行輸出改為一行輸出。 種方法是使用end參數(shù)將換行符替換為其他字符。默認(rèn)情況下,print函數(shù)會(huì)在輸出的結(jié)尾處自動(dòng)添加個(gè)換行符,導(dǎo)致每個(gè)print語
    的頭像 發(fā)表于 11-24 09:45 ?6333次閱讀

    怎么把多行print合并成一行

    在Python中,我們可以使用不同的方法將多行print語句合并成一行。以下是幾種常用的方法: 方法:使用end參數(shù) 在print語句中,可以使用end參數(shù)來指定打印結(jié)束時(shí)添加的字符
    的頭像 發(fā)表于 11-24 09:44 ?2474次閱讀

    python如何將多行合并成一行

    在Python中,有多種方法可以將多行合并成一行。以下是詳細(xì)解釋和示例: 方法:使用字符串的replace()方法 你可以使用字符串的replace()方法來刪除換行符并將多行合并為
    的頭像 發(fā)表于 11-24 09:42 ?4340次閱讀