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 01 Python
python requests 使用快速入门
Aug 31 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
Nov 08 Python
Python实现嵌套列表去重方法示例
Dec 28 Python
python3连接MySQL数据库实例详解
May 24 Python
Python语法分析之字符串格式化
Jun 13 Python
python函数enumerate,operator和Counter使用技巧实例小结
Feb 22 Python
详解Pycharm出现out of memory的终极解决方法
Mar 03 Python
什么是python类属性
Jun 10 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
Dec 07 Python
Python WSGI 规范简介
Apr 11 Python
Python实战之OpenCV实现猫脸检测
Jun 26 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
php 判断访客是否为搜索引擎蜘蛛的函数代码
2011/07/29 PHP
PHP加密解密类实例代码
2016/07/20 PHP
浅谈php处理后端&接口访问超时的解决方法
2016/10/29 PHP
php实现生成code128条形码的方法详解
2017/07/19 PHP
yii2 上传图片的示例代码
2018/11/02 PHP
jQuery弹出遮罩层效果完整示例
2016/09/13 Javascript
jQ处理xml文件和xml字符串的方法(详解)
2016/11/22 Javascript
jQuery实现拖动剪裁图片作为头像
2016/12/28 Javascript
JQuery中Ajax的操作完整例子
2017/03/07 Javascript
利用js查找数组中指定元素并返回该元素的所有索引示例
2017/03/29 Javascript
基于VUE.JS的移动端框架Mint UI的使用
2017/10/11 Javascript
全新打包工具parcel零配置vue开发脚手架
2018/01/11 Javascript
jQuery实现遍历XML节点和属性的方法示例
2018/04/29 jQuery
JavaScript深入V8引擎以及编写优化代码的5个技巧
2019/06/24 Javascript
浅谈微信小程序列表埋点曝光指南
2019/10/15 Javascript
JS数组属性去重并校验重复数据
2020/01/10 Javascript
js将日期格式转换为YYYY-MM-DD HH:MM:SS
2020/09/18 Javascript
python基础教程之自定义函数介绍
2014/08/29 Python
Python对数据库操作
2016/03/28 Python
Python中字符串的格式化方法小结
2016/05/03 Python
Python排序搜索基本算法之选择排序实例分析
2017/12/09 Python
Python线性拟合实现函数与用法示例
2018/12/13 Python
Django框架用户注销功能实现方法分析
2019/05/28 Python
python简单鼠标自动点击某区域的实例
2019/06/25 Python
python PyAutoGUI 模拟鼠标键盘操作和截屏功能
2019/08/04 Python
python 中的[:-1]和[::-1]的具体使用
2020/02/13 Python
TUMI马来西亚官方网站:国际领先的高品质商旅箱包品牌
2018/04/26 全球购物
一些Unix笔试题和面试题
2013/01/22 面试题
高校辅导员推荐信范文
2013/12/25 职场文书
2014年庆元旦活动方案
2014/02/15 职场文书
职务说明书范文
2014/05/07 职场文书
村级换届选举方案
2014/05/10 职场文书
铅球加油稿100字
2014/09/26 职场文书
2015年城管执法工作总结
2015/07/23 职场文书
Golang 实现超大文件读取的两种方法
2021/04/27 Golang
InterProcessMutex实现zookeeper分布式锁原理
2022/03/21 Java/Android