Jupyter notebook添加內核的正確姿勢


  參考資料:

  https://www.jianshu.com/p/fcaec99e7e2a:下面叫他教程A

  如果你在搜索引擎中搜索,“Jupyter notebook添加內核”。你可以搜索到很多篇文章,但是在細節方面,這些文章往往沒有點到位。這就導致讀者多走很多彎路:比如我。今天是我對Jupyter notebook添加核的第三次嘗試,每次都借鑒了網上的教程文章。但是直到最近靈光一現才把這個事情解決,下面教程中的粗體字涉及的部分讀者一定要小心。

  首先,conda的其中一個重要的功能是創建虛擬環境:參見:https://www.cnblogs.com/chester-cs/p/11824433.html

  那么好,我現在創建了兩個環境,一個是(base)環境,一個是(torch環境),這兩個環境有如下差異:

  (base):python 3.6,Pytorch 1.2

  (torch):python 3.8,Pytorch 1.8

  我們首先按照教程A的指引,在 base 環境中安裝jupyter notebook,並且將jupyter notebook搭建好:(下圖是Jupyter Lab,原理一樣)

  注意看,這里和base環境一致,並且,右上角有一個Python 3,這其實就是base環境的內核。如果你點擊它,是可以換內核的。現在我們還沒有添加內核,當然無核可換。

  我們的目標是:通過新建一個ipynb文件,點擊右上角的Python 3更換內核,使得新的ipynb文件里的環境完全和torch環境一致!!!

  注意了,當前這個Jupyter notebook(Jupyter Lab同理)是在基環境(base)里面搭建的,如果我們按照教程A,在torch環境中安裝ipykernel,結果會怎樣?請看下圖:

  此時,我們有兩個jupyter了!!!而且明顯是兩個可執行文件,那么,添加核的操作,到底應該在哪個環境中進行??是在torch環境,還是base環境?

  之前的兩次嘗試,我都想當然地認為,應當是在base環境中添加kernel,理由是我們當前的jupyter notebook是從base環境中啟動的,如果添加內核並在這個jupyter notebook中用,添加肯定要在這個環境中進行啊。

  但是,正確的做法恰好相反,我們應當在torch環境中添加內核。不妨繼續按照教程A中的步驟,在torch環境中運行添加核的命令:

python -m ipykernel install --name env_name

  在此處就是

python -m ipykernel install --name torch

  運行后有如下輸出:

Installed kernelspec torch in /usr/local/share/jupyter/kernels/torch

  看到這里,有經驗的讀者應該明白之前我的想法為什么錯,而這種做法為什么對了。

  jupyter其實就是為每個環境中的內核都創建一個配置文件,這個配置文件是對所有的環境都可見的,因此 base 環境中的jupyter notebook看到了torch環境的配置文件。直接就可以顯示在它的jupyter界面中,不妨試一試,刷新頁面就能成功。

   成功創建了一個torch環境的ipynb文件!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM