jupyter notebook参数化运行python方式


Posted in Python onApril 10, 2020

Updates

(2019.8.14 19:53)吃饭前用这个方法实战了一下,吃完回来一看好像不太行:跑完一组参数之后,到跑下一组参数时好像没有释放之占用的 GPU,于是 notebook 上的结果,后面好几条都报错说 cuda out of memory。

现在改成:将 notebook 中的代码写在一个 python 文件中,然后用命令行运行这个文件,比如:

# autorun.py
import os
# print(os.getcwd())

over = [ # 之前手工改参数跑完的参数组合
 [0, 1, 1], [0, 1, 2], [0, 1, 3],
 [0, 2, 1],
 [1, 0, 1],
 [1, 2, 1]
]

for alpha in range(1, 4, 1):
 for beta in range(3):
  for gamma in range(3):
   if [alpha, beta, gamma] in over:
    continue
   os.system(f'python main.py --alpha {alpha} --beta {beta} --gamma {gamma}')

这里的 main.py 是训练用的主文件。改在 py 里用 os.system 跑,希望跑一组参数之后完会自动释放资源再跑下一组(?)

Notes

有多组参数组合需要尝试,不想每组参数都人工修改 python 代码,再在 notebook 中 %run 它。

python 参数通过的 argparse 接收,在 notebook 中写个多重循环遍历参数组合传给 python 程序自动运行。

记录一个简例。

Codes

test_dir
|- test.py
|- test.ipynb

in py file

# test.py
import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--number', type=int, default=0, help='number')
parser.add_argument('--string', type=str, default='abc', help='string')
args = parser.parse_args()

print('number:', args.number, type(args.number))
print('string:', args.string, type(args.string))

in notebook

注意传参数时 $ 的使用

# test.ipynb
for i in range(3):
 for s in ('a', 'b', 'c'):
  %run test.py --number $i --string $s

补充知识:Jupyter Notebook出现kernel error FileNotFoundError: [WinError 2] 系统找不到指定的文件

Jupyter Notebook出现kernel error

jupyter notebook参数化运行python方式

conda create -n py36 --clone root

当时用Anaconda克隆本地的环境root到自己创建的py36环境,由于克隆完成后我又更改了虚拟环境名称,所以导致启动

jupyter notebook 进入文件是不能找到连接文件。

File”//anaconda/lib/python2.7/site-packages/jupyter_client/manager.py”, line 190, in _launch_kernel
return launch_kernel(kernel_cmd, **kw)
File “//anaconda/lib/python2.7/site-packages/jupyter_client/launcher.py”, line 123, in launch_kernel
proc = Popen(cmd, **kwargs)
File “//anaconda/lib/python2.7/subprocess.py”, line 710, in init
errread, errwrite)
File “//anaconda/lib/python2.7/subprocess.py”, line 1335, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or director

解决办法

首先在cmd 使用jupyter kernelspec list查看安装的内核和位置

进入安装内核目录打开kernel.jason文件,查看Python编译器的路径是否正确

jupyter notebook参数化运行python方式

如果不正确python -m ipykernel install --user重新安装内核,如果有多个内核,如果你使用conda create -n python2 python=2,为Python2.7设置conda变量,那么在anacoda下使用activate pyhton2切换python环境,重新使用python -m ipykernel install --user安装内核.(通用情况)

或者直接进入kernel.json里更改py36(这是属于我的情况)

重启jupyter notebook即可。

以上这篇jupyter notebook参数化运行python方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现基本进制转换的方法
Jul 11 Python
利用aardio给python编写图形界面
Aug 21 Python
Python Flask前后端Ajax交互的方法示例
Jul 31 Python
Python使用while循环花式打印乘法表
Jan 28 Python
Django实现文件上传下载功能
Oct 06 Python
python自动结束mysql慢查询会话的实例代码
Oct 27 Python
Python timeit模块的使用实践
Jan 13 Python
用python解压分析jar包实例
Jan 16 Python
Python基于numpy模块实现回归预测
May 14 Python
Python计算信息熵实例
Jun 18 Python
用ldap作为django后端用户登录验证的实现
Dec 07 Python
Django url 路由匹配过程详解
Jan 22 Python
Python库skimage绘制二值图像代码实例
Apr 10 #Python
解决Jupyter因卸载重装导致的问题修复
Apr 10 #Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
Apr 10 #Python
Python批量安装卸载1000个apk的方法
Apr 10 #Python
Window版下在Jupyter中编写TensorFlow的环境搭建
Apr 10 #Python
Selenium常见异常解析及解决方案示范
Apr 10 #Python
pandas分组聚合详解
Apr 10 #Python
You might like
如何在symfony中导出为CSV文件中的数据
2011/10/06 PHP
PHP代码优化的53个细节
2014/03/03 PHP
微信利用PHP创建自定义菜单的方法
2016/08/01 PHP
在TP5数据库中四个字段实现无限分类的示例
2019/10/18 PHP
javascript 动态修改样式和层叠样式表代码
2010/04/27 Javascript
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
2011/04/27 Javascript
国外大牛IE版本检测!现在IE都到9了,IE检测代码
2012/01/04 Javascript
web css实现整站样式互相切换
2013/10/29 Javascript
js实现动画特效的文字链接鼠标悬停提示的方法
2015/03/02 Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
2016/08/08 Javascript
js变量提升深入理解
2016/09/16 Javascript
javascript ASCII和Hex互转的实现方法
2016/12/27 Javascript
Vue 多层组件嵌套二种实现方式(测试实例)
2017/09/08 Javascript
Vue列表如何实现滚动到指定位置样式改变效果
2020/05/09 Javascript
vue实现输入框自动跳转功能
2020/05/20 Javascript
[02:27]DOTA2英雄基础教程 莱恩
2014/01/17 DOTA
Python 加密的实例详解
2017/10/09 Python
Python编程图形库之Pillow使用方法讲解
2018/12/28 Python
win8.1安装Python 2.7版环境图文详解
2019/07/01 Python
Python3打包exe代码2种方法实例解析
2020/02/17 Python
Node.js 和 Python之间该选择哪个?
2020/08/05 Python
Python利用Pillow(PIL)库实现验证码图片的全过程
2020/10/04 Python
python 中关于pycharm选择运行环境的问题
2020/10/31 Python
Python中常用的os操作汇总
2020/11/05 Python
python 实现客户端与服务端的通信
2020/12/23 Python
英国独特的时尚和生活方式品牌:JOY
2018/03/17 全球购物
华纳兄弟工作室的官方授权商店:WB Shop
2018/11/30 全球购物
大学生求职简历的自我评价
2013/10/21 职场文书
投资意向书范本
2014/04/01 职场文书
化工实习心得体会
2014/09/09 职场文书
民主生活会整改措施(党员)
2014/09/18 职场文书
2014年财务工作总结与计划
2014/12/08 职场文书
2016年党员公开承诺书范文
2016/03/24 职场文书
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
2021/03/31 Servers
nginx rewrite功能使用场景分析
2022/05/30 Servers
浅谈为什么我的 z-index 又不生效了
2022/07/15 HTML / CSS