」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 在 Windows 上使用 WSL2 將 Polars 與 NVIDIA GPU (CUDA) 結合使用

在 Windows 上使用 WSL2 將 Polars 與 NVIDIA GPU (CUDA) 結合使用

發佈於2024-11-09
瀏覽:941

Using Polars with NVIDIA GPU (CUDA), on Windows using WSL2

首先,如果我錯過了什麼,或者出了什麼問題,請告訴我,或者如果您有疑問

步驟

WSL2

  1. 透過 Window 商店安裝任何 Linux 發行版(例如 Ubuntu 22.04)
  2. 啟動並建立使用者
  3. 透過在命令提示字元或 Powershell(在 Windows 裝置上)中執行此命令,將 WSL 版本 2 設為預設版本
wsl --set-default-version 2

在 WSL2 內建立虛擬環境

1. 透過執行以下命令在 WSL2 實例上安裝 Python

sudo apt update
sudo apt install python3 python3-pip python3-venv

2.創建新的虛擬環境

python3 -m venv 

# examples
python3 -m venv myenv
# or
python3 -m venv gpu-env

您可以在根資料夾中建立這個虛擬環境。之後,您可以簡單地在根資料夾中建立新資料夾,這些資料夾都會使用該虛擬環境。這樣您就不需要每次都建立新的虛擬環境。 (安裝時間很長,你可能不想每次都這樣做)

3.啟動虛擬環境

source /bin/activate

# examples
source myenv/bin/activate
# or
source gpu-env/bin/activate

如果您成功啟動了虛擬環境,您應該在終端左側的每行之前看到 ()

然後您可以透過輸入 deactivate 來停用它,但現在在教程中保持啟動狀態

在虛擬環境中安裝pip套件

pip install polars[gpu] pandas numpy tensorflow[and-cuda]

注意:您需要位於已啟動的虛擬環境中才能執行 pip-install 命令。否則,你會得到一個錯誤,告訴你創建虛擬環境

在 VS Code 中使用虛擬環境

您可以輸入代碼來開啟VS Code。在終端中。這將在 WSL 實例上安裝並開啟 VS Code 安裝。此安裝不包含 Windows 安裝中的所有擴充功能(例如 Python、GitHub Copilot、Jupyter)。您可以(必須)透過 VS Code 中的「擴充功能」標籤再次安裝它們。

選擇解釋器時,選擇,而不是帶有版本號的Python版本。您需要的解釋器與虛擬環境具有完全相同的名稱,並且後面會有一個Python版本號,格式為

  • ✅ gpu-env (Python 3.11.2)
  • ❌Python 3.11.2 /bin/python3
  • ❌Python 3.11.2 /usr/bin/python3
版本聲明 本文轉載於:https://dev.to/harmanpsingh/using-polars-with-nvidia-gpu-cuda-on-windows-using-wsl2-869?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • PHP 中的 session_unset() 和 session_destroy() 有什麼不同?
    PHP 中的 session_unset() 和 session_destroy() 有什麼不同?
    深入探討PHP 中session_unset() 和session_destroy() 之間的差異使用PHP 會話時,開發人員通常必須在函數session_unset() 和session_destroy()。儘管聽起來相似,但這些函數表現出顯著的差異。 功能差異雖然這兩個函數都會影響會話變量,但它...
    程式設計 發佈於2024-11-09
  • 如何在 JavaScript 中組合陣列並同時儲存唯一元素?
    如何在 JavaScript 中組合陣列並同時儲存唯一元素?
    在JavaScript 中將數組與唯一元素組合要基於唯一項合併數組,您可以利用以下技術:var newCells = []; for (var i = 0; i < totalCells.length; i ) { var lineNumber = totalCells[i].lin...
    程式設計 發佈於2024-11-09
  • 將日期物件轉換為時間戳記時,一元加運算子有何作用?
    將日期物件轉換為時間戳記時,一元加運算子有何作用?
    Unary Plus:將日期物件轉換為毫秒時間戳在JavaScript 中,您可能會遇到類似以下內容的程式碼:function fn() { return new Date; }此表達式傳回表示當前時間的時間戳,而不是完整的 Date 物件。然而,加號 ( ) 的作用並不是立即顯而易見。 答案...
    程式設計 發佈於2024-11-09
  • 如何消除 Mac 版 Chrome 中不需要的「過度滾動」?
    如何消除 Mac 版 Chrome 中不需要的「過度滾動」?
    克服網頁中的「過度滾動」在Mac 版Chrome 中,「過度滾動」是一種不良效果,它允許用戶將頁面拖到其正常查看區域之外,如所提供的影像所示。若要解決此問題並改善使用者體驗,請考慮以下兩種方法:方法一:限制過度捲動如果要完全停用過度捲動,請使用下列CSS 程式碼: html { overfl...
    程式設計 發佈於2024-11-09
  • ## 為什麼 JQuery 的 `load()` 函數在不同瀏覽器中表現不同?
    ## 為什麼 JQuery 的 `load()` 函數在不同瀏覽器中表現不同?
    Jquery load() 跨瀏覽器的不一致Jquery load() 跨瀏覽器的不一致在嘗試深入研究JQuery 和AJAX 時,開發人員可能會遇到一個特殊的問題,其中load( ) 函數在不同瀏覽器中表現出不一致的行為。具體來說,在提供的程式碼片段中,load()函數用於將list1.html的...
    程式設計 發佈於2024-11-09
  • 為什麼我在 Go 中收到「語法錯誤:Else 之前出現意外的分號」?
    為什麼我在 Go 中收到「語法錯誤:Else 之前出現意外的分號」?
    Go 中 Else 之前意外的分號:詳細解釋你的 Go 碼在第 21 行遇到異常錯誤:「syntax error:unexpected其他之前的分號或換行符。 這裡的核心問題源自於Go的自動分號插入規則。通常,Go 中分號是可選的;但是,編譯器會自動將它們插入到某些行的末尾以保持語法完整性。其中一個...
    程式設計 發佈於2024-11-09
  • 如何防止 Apache 快取 CSS 檔案並確保顯示最新版本?
    如何防止 Apache 快取 CSS 檔案並確保顯示最新版本?
    使用Apache 防止伺服器端CSS 檔案快取開發網站時,確保訪客存取最新版本至關重要用於防止快取問題的CSS 文件。本文解決了 Apache 是否快取資源的問題,並提供了防止其這樣做的解決方案,特別是遇到儘管重新載入頁面但 CSS 變更未反映在瀏覽器中的場景時。 是Apache 真的會快取資源嗎?...
    程式設計 發佈於2024-11-09
  • 您應該使用哪種 MySQL 整數資料類型?
    您應該使用哪種 MySQL 整數資料類型?
    了解MySQL 整數資料類型之間的差異MySQL 提供了一系列整數資料類型,它們的儲存需求和值範圍各不相同。這些類型包括tinyint、smallint、mediumint、bigint 和int。了解它們之間的差異對於為您的特定資料需求選擇適當的資料類型至關重要。 資料大小和範圍注意​​事項這些資...
    程式設計 發佈於2024-11-09
  • 為什麼我在 JavaScript 的輸入值為空?
    為什麼我在 JavaScript 的輸入值為空?
    輸入值與變數儲存:為什麼會陷入空困境? 當嘗試使用 JavaScript 從輸入欄位檢索值時,開發人員經常遇到如果資料儲存在變數中,則為空值。這個令人費解的問題可能源自於 Web 開發的非同步特性以及瀏覽器執行程式碼的方式。 在 JavaScript 中,執行腳本時會擷取輸入欄位的初始值。如果稍後在...
    程式設計 發佈於2024-11-09
  • 如何使用 RequestAnimationFrame 來穩定動畫的幀速率 (FPS)?
    如何使用 RequestAnimationFrame 來穩定動畫的幀速率 (FPS)?
    RequestAnimationFrame Fps 穩定RequestAnimationFrame (rAF) 已在動畫中變得流行,可提供流暢且高效的執行。然而,控制幀速率 (FPS) 以確保一致性可能具有挑戰性。 將 rAF 限制為特定 FPS要將 rAF 限制為特定 FPS,您可以自上一幀執行以...
    程式設計 發佈於2024-11-09
  • 適合初學者的關鍵 Python 術語
    適合初學者的關鍵 Python 術語
    您是否曾经在与程序员交谈时,因不熟悉的行话而感到茫然?或者,也许您是 Python 编程的初学者,并且遇到了某些您不完全理解的术语。学习Python中使用的常用术语不仅可以帮助你更专业地解释你的代码,还可以让你更轻松地跟上讨论。本文通过简单的解释、用例和示例探讨了基本的 Python 术语,以帮助您...
    程式設計 發佈於2024-11-09
  • 使用 Puppeteer 產生 PDF 之前如何確保頁面完成?
    使用 Puppeteer 產生 PDF 之前如何確保頁面完成?
    使用Puppeteer 產生PDF:等待頁面完成使用Puppeteer 從網頁建立PDF 時,等待頁面完全載入以確保完整性至關重要以及產生文件的準確性。讓我們深入研究如何在不訴諸手動延遲的情況下實現此目的。 page.waitForNavigation() 方法提供了一種可靠的方法來等待頁面導航事件...
    程式設計 發佈於2024-11-09
  • 為什麼 Angular 1.6 將 URL 雜湊前綴從 # 更改為 #!?
    為什麼 Angular 1.6 將 URL 雜湊前綴從 # 更改為 #!?
    URL 雜湊前綴從 # 改為 #!在 Angular 1.6 中自從 AngularJS 1.6 的最新更新以來,用戶已經注意到 URL 格式的變化。 AngularJS 現在不再使用先前的“#/”雜湊前綴,而是使用“#!/”。 更改的原因是什麼? 更改歸因於AngularJS 1.6 中引入的新雜...
    程式設計 發佈於2024-11-09
  • 如何在 Python 中將整數轉換為位元組字串並返回?
    如何在 Python 中將整數轉換為位元組字串並返回?
    使用「bytes(n)」建立位元組字串Python 3 中的「bytes(n)」函數不會將整數轉換為其二進位表示形式,而是建立長度為n 的位元組字串,並用空位元組(b'\x00') 填入。此行為源自於 Python 3.2,其中引入了「to_bytes()」方法作為將整數編碼為位元組...
    程式設計 發佈於2024-11-09
  • 以客戶端為中心的錯誤處理
    以客戶端為中心的錯誤處理
    了解和处理错误 为了有效地处理错误,必须了解可能发生的错误类型。让我们首先对您可能遇到的错误进行分类。 Web 客户端环境中的错误类型 网络错误 连接问题:与服务器建立连接时出现问题。 超时:请求花费太长时间才能收到响应。 DNS 错误:域名解析问题...
    程式設計 發佈於2024-11-09

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3