如何在Jupyter中切换内核环境

Jupyter切换环境内核

大家在使用Jupyter Notebook进行编程时,如果需要在不同的虚拟环境中运行Jupyter,常见的做法是首先激活虚拟环境,然后在该虚拟环境下进入Jupyter Notebook环境才行。这样会导致我们如果同时运行多个项目时,就需要同时激活多个虚拟环境进入Jupyter Notebook服务,过程十分繁琐。那有没有办法能够在不开启多个Jupyter Notebook服务的前提下切换虚拟环境呢?

答案是有的,本教程提出的主要目的是帮助开发者在使用Jupyter Notebook时,切换环境内核,建议使用conda搭建的虚拟环境。

整个步骤如下:

  1. 创建虚拟环境
  2. 激活虚拟环境
  3. 将虚拟环境写入Jupyter Notebook中的Kernel
  4. 打开Jupyter Notebook服务
  5. 更换Kernel
  6. 验证是否更换成功

搭建并激活相应项目的虚拟环境

该过程参见使用conda管理虚拟环境

将虚拟环境写入Jupyter Notebook的Kernel中

查看当前conda下的所有虚拟环境。

image-20230301150837743

可以看到我电脑中的虚拟环境还是比较多的,一共有9个虚拟环境。

现在演示将pytroch的环境加入到Jupyter NotebookKernel中。

首先,查看我已经写入Kernel的虚拟环境。

jupyter kernelspec list

image-20230301152309889

从返回的结果可以看到,我的Jupyter 中已经有了3个Kernel

然后,现在把pytorch虚拟环境写入Kernel注意:在写入Kernel之前必须先激活虚拟环境。

激活pytorch虚拟环境conda activate pytorch

image-20230301152814411

接着,使用以下命令将pytorch虚拟环境加入到JupyterKernel中。

image-20230301153009442

再次查看JupyterKernel列表发现pytorch虚拟环境已经完成写入。

image-20230301153118922

PS:删除Kernel命令jupyter kernelspec remove KernelName(Kernel名称)

激活Jupyter Notebook服务

为了演示效果,在此我们先退出pytorch虚拟环境。

image-20230301153237687

输入jupyter notebook进入Jupyter服务。

image-20230301153329882

新建一个notebook

image-20230301153423440

输入以下代码导入pytorch

import torch

image-20230301153515663

发现基础环境中是没有torch库的,导入失败。

切换内核

点击菜单栏的Kernel菜单,在Change Kernel子菜单中选择pytorch内核。

image-20230301153614930

观察notebook右上角看是否能够顺利激活内核。

image-20230301153752268

我们发现此时内核已经被修改为pytorch虚拟环境。

验证是否更换成功

再次导入torch看是否能够导入成功。

image-20230301153939955

此时发现执行导入命令已经没有报错。

同时,可以验证一下修改内核后torch的深度学习环境是否正常。【注:需在pytorch虚拟环境下提前安装好深度学习环境】

使用以下命令进行验证

torch.cuda.is_available()

image-20230301154232235

可以发现返回的结果为True,说明深度学习环境也是正常的。

至此,已经完成了在Jupyter Notebook下的环境内核切换。

切换Tensorflow内核并查看深度学习环境是否正常

可以看到,我这里还有一个tf2.9Kernel,该KernelTensorflow-GPU2.9.1的深度学习环境,也可以切换进行演示。

image-20230301154759805

正常

可以看到,我这里还有一个tf2.9Kernel,该KernelTensorflow-GPU2.9.1的深度学习环境,也可以切换进行演示。

[外链图片转存中…(img-fu1BsUxD-1679378722084)]

从返回的结果也可以看出,环境切换得十分顺利,Tensorflow2.9深度学习环境也是正常的。

物联沃分享整理
物联沃-IOTWORD物联网 » 如何在Jupyter中切换内核环境

发表评论