【AI訓練故障篇】FloatTensor and cuda.FloatTensor should be the same

閱讀時間約 3 分鐘
raw-image
圖片來源

我們已經介紹過關於Transformer模型的平台「【Hugging Face】Ep.1 平凡人也能玩的起的AI平台」,而操作的過程中相信也會有不少玩家會遇到這樣的狀況,因此將遇到的問題整理並分享解決方法,讓需要的朋友可以參考一下。

問題

Input type (torch.FloatTensor) and weight type (torch.cuda.FloatTensor) should be the same or input should be a MKLDNN tensor and weight is a dense tensor

前景提要

故事是這樣的, 小明是個軟體工程師, 專門研究語音辨識領域的技術, 有一天進行wav2vec2的語音辨識模型進行辨識時, 竟然在關鍵時刻發生了錯誤, 而這個錯誤可能也會是其他人遇到的狀況, 因此決定將過程好好整理一番, 以幫助在相同技術道路上的夥伴一起突破難關。

raw-image

圖片來源...

首先小明使用了wav2vec2的語辨模型, 並載入中文模型「wav2vec2-large-xlsr-53-chinese-zh-cn-gpt」, 並期望使用GPU加速辨識速度, 因此將DEVICE設定為cuda。

from transformers import Wav2Vec2ForCTC, Wav2Vec2Processor
SRC_MODEL = 'ydshieh/wav2vec2-large-xlsr-53-chinese-zh-cn-gpt'
DEVICE = 'cuda'
processor = Wav2Vec2Processor.from_pretrained(SRC_MODEL)
model = Wav2Vec2ForCTC.from_pretrained(SRC_MODEL).to(DEVICE)

接著就直接對音檔進行辨識。

audio_buffer, _ = sf.read('test.wav')

input_values = processor(audio_buffer, sampling_rate=16000, return_tensors="pt").input_values

logits = model(input_values).logits

predicted_ids = torch.argmax(logits, dim=-1)

transcription = processor.decode(predicted_ids[0])

transcription

結果竟然出錯了…, 這應該怎麼辦呢?

RuntimeError: Input type (torch.FloatTensor) and weight type (torch.cuda.FloatTensor) ...

原因

根據錯誤訊息推測大致是輸入類型是CPU(torch.FloatTensor), 但模型類型是GPU(torch.cuda.FloatTensor), 因此需要將數據來源轉成GPU的類型才能相符。

如何解決

我們試著將音訊數據轉成「torch.cuda.FloatTensor」類型的資料。

input_values = input_values.to(DEVICE)

如此一來模型與數據的資料型態就會都一致了, 畢竟GPU與CPU並不相容,因此進行運算時也要非常的小心…。

114會員
256內容數
哈囉,我是阿Han,是一位 👩‍💻 軟體研發工程師,喜歡閱讀、學習、撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習,甚至手把手帶您設計出高品質的軟體產品。
留言0
查看全部
發表第一個留言支持創作者!
阿Han的沙龍 的其他內容
回顧上一個篇章「【自然語言處理NLP】初探強大的工具庫spaCy, 讓機器讀懂我們的語言」我們初步學習spaCy這套工具,在尾端進行NER時我們也發現到現有的NER模型並沒有辦法滿足我們的需求, 導致有一些實體未被識別出來, 因此這次的任務就是設法進行訓練, 讓我們想要被識別的實體可以被進行識別。
上一篇章我們有提到「【AI幫幫忙】機器如何識別我們的特徵?關鍵的Named Entity Recognition(NER)技術」, 而NER是NLP自然語言處理的一部分, 而這一個篇章我們會以實作的形式來介紹自然語言處理中非常好用的一套工具「spaCy」,spaCy被廣泛用於各種NLP任務,包括自然
QA問答是自然語言處理NLP中蠻困難的一項任務, 必須從一段文本中識別出使用者的提問,像搜尋引擎就是一種QA的應用, 從眾多的問題中找答案, 那就讓我們親手來打造一下自己專屬的QA系統吧! 找看看有哪些可用模型 在「【Hugging Face】Ep.3 前往Dataset掏金趣」我們有介紹過Hu
這次來介紹一下NLP自然語言處理中重要的一個任務「命名實體識別(Named Entity Recognition)」, 這個任務主要識別出「人名」、「地名」、「公司」…等實體, 透過這些實體辨識結果, 可以近一步的理解意圖, 甚至判斷出該文章主要在講什麼重點…等。 關於更多NER的細節歡迎閱讀: 「
前面我們介紹了「【Hugging Face】Ep.1 平凡人也能玩的起的AI平台」, 我們都知道「詞」是NLP世界中的最小單元, 關於詞的知識歡迎參考: 簡單來說,主要的目的是將文本轉換為模型可以處理的數據, But…, 他主要的任務並不是像jieba…等斷詞器一樣, 而是很單純的扮演文字與模型的橋
Part-of-Speech Tagging, POS是詞性標注的全名, 主要為詞彙標上語言中的語法類別或用途, 再進行後續的分析與處理, 就想像成文件歸檔的動作, 每個文件貼上一個標籤類別, 而透過這些標籤類別進行關聯性的分類歸檔。 一個句子最基本的組成單位是「詞」這在我們之前幾個篇章都有談過,如
回顧上一個篇章「【自然語言處理NLP】初探強大的工具庫spaCy, 讓機器讀懂我們的語言」我們初步學習spaCy這套工具,在尾端進行NER時我們也發現到現有的NER模型並沒有辦法滿足我們的需求, 導致有一些實體未被識別出來, 因此這次的任務就是設法進行訓練, 讓我們想要被識別的實體可以被進行識別。
上一篇章我們有提到「【AI幫幫忙】機器如何識別我們的特徵?關鍵的Named Entity Recognition(NER)技術」, 而NER是NLP自然語言處理的一部分, 而這一個篇章我們會以實作的形式來介紹自然語言處理中非常好用的一套工具「spaCy」,spaCy被廣泛用於各種NLP任務,包括自然
QA問答是自然語言處理NLP中蠻困難的一項任務, 必須從一段文本中識別出使用者的提問,像搜尋引擎就是一種QA的應用, 從眾多的問題中找答案, 那就讓我們親手來打造一下自己專屬的QA系統吧! 找看看有哪些可用模型 在「【Hugging Face】Ep.3 前往Dataset掏金趣」我們有介紹過Hu
這次來介紹一下NLP自然語言處理中重要的一個任務「命名實體識別(Named Entity Recognition)」, 這個任務主要識別出「人名」、「地名」、「公司」…等實體, 透過這些實體辨識結果, 可以近一步的理解意圖, 甚至判斷出該文章主要在講什麼重點…等。 關於更多NER的細節歡迎閱讀: 「
前面我們介紹了「【Hugging Face】Ep.1 平凡人也能玩的起的AI平台」, 我們都知道「詞」是NLP世界中的最小單元, 關於詞的知識歡迎參考: 簡單來說,主要的目的是將文本轉換為模型可以處理的數據, But…, 他主要的任務並不是像jieba…等斷詞器一樣, 而是很單純的扮演文字與模型的橋
Part-of-Speech Tagging, POS是詞性標注的全名, 主要為詞彙標上語言中的語法類別或用途, 再進行後續的分析與處理, 就想像成文件歸檔的動作, 每個文件貼上一個標籤類別, 而透過這些標籤類別進行關聯性的分類歸檔。 一個句子最基本的組成單位是「詞」這在我們之前幾個篇章都有談過,如
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
在ChatGPT問世以來,大家已經感受到了生成式AI入侵各行各業的威力,但真正能夠從這個趨勢賺錢的企業,是位於價值鏈的哪個位置?一些號稱能抓到生成式AI機會的公司,會不會只是泡沫的hype實際上不可取代的程度低,做不出市場所需的差異化產品。 如果觀察上一代大型的科技循環,Mobile移動網路的趨勢,
Thumbnail
你知道有AI公司已經決定要付錢給藝術家了嗎? AI圖片生成器不付錢的爭議聲不斷,但情況正在改變。 AI生成目前最大的爭議,就是AI公司用來訓練AI模型的資料庫並不透明,而作品被用來訓練、模仿的藝術家,無法取得應有的報酬。 Ascendant Art是一家AI頭像公司,他們將支付同意註冊的藝術家版稅。
Thumbnail
現年71歲的史汀是英國著名歌手,已經銷售出超過1億張唱片。身為超資深音樂創作者及歌手,史汀對AI作曲的看法是什麼? 英國歌手史汀(Sting)預測,「對抗AI(人工智能)」將成為未來的挑戰。他表示,音樂家們將不得不對抗越來越多由AI創作的歌曲,但情感方面還是AI作曲無法取代的。
大家參考一下 矽智財概念股 7檔吸睛 矽智財的功能在於幫助降低晶片的開發難度、縮短開發周期,並提升晶片性能,故又被稱為晶片業的設計師;台系矽智財概念股包括世芯-KY(3661)、晶心科(6533)、M31(6643)、智原(3035)、創意(3443)、力旺(3529)、愛普*(6531)等。 ht
Thumbnail
這邊繼續上一集的內容,進入這一章節時,你應該是已經安裝好stable diffusion webui跟Kohya's GUI了。 這一章就真的要開始準備訓練Lora模型了,步驟有點雜,我拆成四個小步驟來看,這一章節也是最重要的,以後忘了步驟時,也只要回頭來看這一篇就行了。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
在ChatGPT問世以來,大家已經感受到了生成式AI入侵各行各業的威力,但真正能夠從這個趨勢賺錢的企業,是位於價值鏈的哪個位置?一些號稱能抓到生成式AI機會的公司,會不會只是泡沫的hype實際上不可取代的程度低,做不出市場所需的差異化產品。 如果觀察上一代大型的科技循環,Mobile移動網路的趨勢,
Thumbnail
你知道有AI公司已經決定要付錢給藝術家了嗎? AI圖片生成器不付錢的爭議聲不斷,但情況正在改變。 AI生成目前最大的爭議,就是AI公司用來訓練AI模型的資料庫並不透明,而作品被用來訓練、模仿的藝術家,無法取得應有的報酬。 Ascendant Art是一家AI頭像公司,他們將支付同意註冊的藝術家版稅。
Thumbnail
現年71歲的史汀是英國著名歌手,已經銷售出超過1億張唱片。身為超資深音樂創作者及歌手,史汀對AI作曲的看法是什麼? 英國歌手史汀(Sting)預測,「對抗AI(人工智能)」將成為未來的挑戰。他表示,音樂家們將不得不對抗越來越多由AI創作的歌曲,但情感方面還是AI作曲無法取代的。
大家參考一下 矽智財概念股 7檔吸睛 矽智財的功能在於幫助降低晶片的開發難度、縮短開發周期,並提升晶片性能,故又被稱為晶片業的設計師;台系矽智財概念股包括世芯-KY(3661)、晶心科(6533)、M31(6643)、智原(3035)、創意(3443)、力旺(3529)、愛普*(6531)等。 ht
Thumbnail
這邊繼續上一集的內容,進入這一章節時,你應該是已經安裝好stable diffusion webui跟Kohya's GUI了。 這一章就真的要開始準備訓練Lora模型了,步驟有點雜,我拆成四個小步驟來看,這一章節也是最重要的,以後忘了步驟時,也只要回頭來看這一篇就行了。