zoukankan      html  css  js  c++  java
  • 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文件!

  • 相关阅读:
    Asp.Net细节性问题精萃(转)
    开发OFFICE插件总结(转)
    校内网开心网数据同步引发的讨论(转)
    C++指针探讨 (三) 成员函数指针 (转)
    C++指针探讨 (二) 函数指针 (转)
    【原创】编程获取PE文件信息的方法(转)
    为.net开发者提供的一份关于存储过程的评论(转)
    C++指针探讨 (一)数据指针 (转)
    如何批量修改PPT字体、大小、颜色(转)
    搜索引擎里的爱人(转)
  • 原文地址:https://www.cnblogs.com/chester-cs/p/14653149.html
Copyright © 2011-2022 走看看