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中for循环下的索引变量的作用域
Apr 15 Python
pandas 按照特定顺序输出的实现代码
Jul 10 Python
python3实现逐字输出的方法
Jan 23 Python
python的set处理二维数组转一维数组的方法示例
May 31 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
Nov 19 Python
使用Python的Turtle绘制哆啦A梦实例
Nov 21 Python
python写一个随机点名软件的实例
Nov 28 Python
python连接PostgreSQL过程解析
Feb 09 Python
django 前端页面如何实现显示前N条数据
Mar 16 Python
Django中从mysql数据库中获取数据传到echarts方式
Apr 07 Python
Python实现查找数据库最接近的数据
Jun 08 Python
大数据分析用java还是Python
Jul 06 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
dedecms 制作模板中使用的全局标记图文教程
2007/03/11 PHP
php显示指定目录下子目录的方法
2015/03/20 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
2016/07/13 PHP
php使用Jpgraph创建折线图效果示例
2017/02/15 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
限制文本字节数js代码
2007/03/06 Javascript
js location.replace与location.reload的区别
2010/09/08 Javascript
js和as的稳定传值问题解决
2013/07/14 Javascript
jquery动态更换设置背景图的方法
2014/03/25 Javascript
javascript学习笔记(六)数据类型和JSON格式
2014/10/08 Javascript
JavaScript  cookie 跨域访问之广告推广
2016/04/20 Javascript
Vue 固定头 固定列 点击表头可排序的表格组件
2016/11/25 Javascript
JQuery和HTML5 Canvas实现弹幕效果
2017/01/04 Javascript
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
2017/08/04 Javascript
ElementUI radio组件选中小改造
2019/08/12 Javascript
原生javascript的ajax请求及后台PHP响应操作示例
2020/02/24 Javascript
浅谈js中的attributes和Attribute的用法与区别
2020/07/16 Javascript
Vue 的 v-model用法实例
2020/11/23 Vue.js
python中使用zip函数出现错误的原因
2018/09/28 Python
Django+zTree构建组织架构树的方法
2019/08/21 Python
如何清空python的变量
2020/07/05 Python
python raise的基本使用
2020/09/10 Python
python简单实现插入排序实例代码
2020/12/16 Python
纯CSS3打造动感漂亮时尚的扇形菜单
2014/03/18 HTML / CSS
英国灯具和灯泡网上商店:Lights.co.uk
2018/02/02 全球购物
哥伦比亚加拿大官网:Columbia Sportswear Canada
2020/09/07 全球购物
中学教师自我鉴定
2014/02/07 职场文书
《郑和远航》教学反思
2014/04/16 职场文书
《毛主席在花山》教学反思
2014/04/20 职场文书
跑操口号
2014/06/12 职场文书
婚内分居协议书范文
2014/11/26 职场文书
检讨书范文500字
2015/01/28 职场文书
运动会致辞稿
2015/07/29 职场文书
保姆聘用合同
2015/09/21 职场文书
适合毕业生创业的项目怎么找?
2019/08/08 职场文书