跳到主要內容

[解決方法] NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver.


前言


當我們安裝玩nvidia 的driver後, 理論上使用nvidia-smi 應該要看到GPU的使用狀況如下



但如果是看到以下這個錯誤訊息, 表示NVidia的driver沒有成功裝起來


NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running
網路上的解法很多

 1. 確認是否有插入顯卡


$ lspci | grep 'VGA'

如果系統有找到卡的話, 會顯示顯卡資訊




 2. 確認security boot是否為disable的狀態


    > 開機時, 進入Bios 設定畫面(若是Acer的電腦, 按Del 或是F2 即可進入Bios)



  >  改成disable 後, 重開機再試看看
  >  如果以上都不行, 那就只能試試大絕招了: 更新系統內核(kernel)


 3. 確認kernel版本是否大於4.10

$ uname -a
結果如下, 目前內核版本是 4.15



若版本小於4.10, 那就必須升級


方法一: 下載內核然後安裝

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15.7/linux-headers-4.15.7-041507_4.15.7-041507.201802280530_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15.7/linux-headers-4.15.7-041507-generic_4.15.7-041507.201802280530_amd64.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15.7/linux-image-4.15.7-041507-generic_4.15.7-041507.201802280530_amd64.deb

sudo dpkg -i *.deb

升級完後再重新安裝 Nvidia Driver


方法二: 直接升級到Ubuntu 18.0


$ sudo do-release-upgrade -d


補充:

解除Nvidia Driver的方法

$ sudo apt-get remove --purge '^nvidia-.*'

最後, 希望大家看完這篇文章後, 可以順利地解決問題~


留言

  1. 大大您好,我們研究室目前也遇到一樣的問題,使用的是2080Ti
    目前kernel版本是4.15.45,nvidia驅動版本是410
    已經試過kernel降版/升版,還有驅動也有重裝過,但都無法使用
    想請教一下大大還有沒有別的方法?

    回覆刪除
    回覆
    1. 你有試過重新灌Ubuntu 18 然後先不要更新系統,然後直接安裝驅動嗎 ubuntu-drivers autoinstall

      可以分享你安裝的整個過程嗎,
      第一步,第二步,

      刪除
  2. 相同問題 我本來是成功的的(ppa)安裝的 結果隔天重開機就不行用了 kernel 4.15.0 nvidia 418 415都灌過無法 1060 gpu

    回覆刪除
    回覆
    1. 你有試過使用nvidia-smi 檢查驅動是否有成功裝起來嗎?我好像有遇過類似的,當時我是直接再重灌一次系統,用乾淨的環境去裝

      刪除

張貼留言

這個網誌中的熱門文章

[C#] Visual Studio, 如何在10分鐘內快速更改命名專案名稱

前言: 由於工作需要, 而且懶得再重寫類似的專案, 所以常常將之前寫的專案複製一份加料後, 再重新命名編譯

假設今天我有一個專案HolyUWP, 我想把它重新命名成 BestUWP 時該怎麼做?

以下是幾個簡單的的步驟 使用Visual Studio 2017

備份原來專案更改Solution名稱更改Assembly name, Default namespce更改每支程式碼的Namespace更改專案資料夾名稱

備份原來專案由於怕改壞掉, 所以在改之前先備份
更改Solution名稱更改sln的名稱, 這邊我改成BestUWP.sln
使用Visual Studio打開你的.sln, 右鍵點擊Solution後選擇Rename, 這邊我把它重新命名成BestUWP(跟檔案名稱一致)
必要的話可以順便修改Porject名稱
更改Assembly name, Default namespce進入 Project > OOXX Properties 修改Assembly Name, Default namesapce
更改每支程式碼的Namespace基本上隨便挑一支有用到預設Namesapce(HolyUWP)的程式碼來改就好了 重新命名後點擊Apply, 
這個動作做完後所有用到舊Namespace的程式碼都會被改成新的 更改專案資料夾名稱

以上動作做完後, 基本上就可以把專案編譯出來測看看了~

[簡易教學] 使用Google DialogFlow十分鐘內建立聊天機器人

How to create Google DialogFlow chatbot in10 minutes

前言
隨著Machine Learning的技術越來越成熟, 越來越多的雲端大廠也開始提供自家的AI solution給大眾使用, 如  Google DialogFlow, MS Luis, FB Wit, Amazon Alexa...

DialogFlow 是Google 提供的自然語言處理服務, 能夠將文字轉換成電腦看得懂的結構性資料, 再傳遞給後端介接的Web Service處理, 現在的聊天機器人大多都是使用這種架構

DialogFlow response 的簡單範例,
{ "queryResult": { "queryText": "find some hotel in taipei", "parameters": { "geo-city": "Taipei" }, "intent": { "displayName": "FindHotel" }, "intentDetectionConfidence": 1, "languageCode": "en" } } intentName 就是使用者意圖, chatbot 可以根據意圖去執行對應的商用邏輯
parameter 則是語句當中的關鍵字, chatbot可以用這些關鍵字當成查詢資料庫的條件, 最後再將答案反饋給使用者 
Integration 作為輸入的來源, DialogFlow 目前支援自家的Google Assistant, 還有其他頻道像是 Line, Skype, Facebook ..., 也就是說使用DialogFlow開發的機器人, 不一定只能用在Google Assistant上, 還可以串到Skype, 臉書,,,等等


以下教學, 如何快速建立一個聊天機器人
Agent 首先, 建立一個訂飯店機器人 HotelBot Agent


[簡易教學] 如何使用 Google API, 以Youtube data api為例取得某頻道的訂閱人數

Google 發展雲端服務至今已釋出許多API讓開發者使用


假如今天我們想要取得Youtube上某個頻道的訂閱人數


我們可以使用底下的url


HTTP GET: GET https://www.googleapis.com/youtube/v3/channels?part=statistics&id={CHANNEL_ID}&key={YOUR_API_KEY}


而在這之前,


你必須先有一組API Key


以下是申請教學:


Step 1.
進入 google 的網頁上
https://console.cloud.google.com/






Step 2. 啟用API