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

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

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

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

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

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

參賽項(xiàng)目

Freesound Audio Tagging 2019

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

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ā)展與落地,有越來越多的平臺和工具可供大家使用,這些平臺針對不同領(lǐng)域、不同層次的開發(fā)者和學(xué)習(xí)者,只要你想學(xué)就有辦法。但問題是,對于剛?cè)腴T,沒有多少經(jīng)驗(yàn),對 TensorFlow、PyTorch 等工具和框架也不熟悉的人,能參加這樣的競賽嗎?

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

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

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

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

具體步驟示例

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

模型預(yù)訓(xùn)練中要使用的數(shù)據(jù)集是 FSDKaggle 2019,已經(jīng)在 Peltarion 平臺經(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 一鍵即可建立一個新 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% 用于測試集。在頂部的 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”兩個工具選項(xiàng)幫助進(jìn)行編譯模型。在這個示例中,訓(xùn)練的是如下圖所示的聲譜圖,以完成圖片分類任務(wù)。

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

接下來幾個步驟中,我們就在右側(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 塊 之前再添加一個 Dense 塊,節(jié)點(diǎn)設(shè)置為 80,激活 sigmoid;

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

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

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

4、Evaluating

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

5、提交模型

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

!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')

競賽地址:

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

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

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

    關(guān)注

    87

    文章

    29862

    瀏覽量

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

    關(guān)注

    4

    文章

    1201

    瀏覽量

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

    關(guān)注

    1

    文章

    35

    瀏覽量

    3796

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

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

收藏 人收藏

    評論

    相關(guān)推薦

    中國中車與中國電信一行座談交流

    近日,中國中車集團(tuán)黨委書記、董事長孫永才在中車總部會見中國電信集團(tuán)黨組書記、董事長柯瑞文一行并進(jìn)行座談交流。中國電信集團(tuán)有限公司黨組成員、副總經(jīng)理唐珂,中國中車集團(tuán)首席科學(xué)家王軍參加會談。
    的頭像 發(fā)表于 11-11 14:03 ?110次閱讀

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

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

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

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

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

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

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

    近日,石景山區(qū)委副書記、區(qū)長李新一行赴谷東科技有限公司進(jìn)行調(diào)研和座談。石景山區(qū)副區(qū)長李文化、首鋼基金領(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 ?568次閱讀

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

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

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

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

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

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

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

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

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

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

    了解這些就可以搞懂 IGBT

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

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

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

    python如何讓多行輸出為一行

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

    怎么把多行print合并成一行

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

    python如何將多行合并成一行

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