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实现系统状态监测和故障转移实例方法
Nov 18 Python
python验证码识别的实例详解
Sep 09 Python
Python中装饰器高级用法详解
Dec 25 Python
一个月入门Python爬虫学习,轻松爬取大规模数据
Jan 03 Python
对numpy中布尔型数组的处理方法详解
Apr 17 Python
python中单下划线_的常见用法总结
Jul 10 Python
python矩阵的转置和逆转实例
Dec 12 Python
python下载微信公众号相关文章
Feb 26 Python
python调用外部程序的实操步骤
Mar 04 Python
Django密码系统实现过程详解
Jul 19 Python
python tkinter canvas使用实例
Nov 04 Python
Python安装OpenCV的示例代码
Mar 05 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类与对象中的private访问控制的疑问
2012/11/01 PHP
推荐一款MAC OS X 下php集成开发环境mamp
2014/11/08 PHP
Yii2超好用的日期和时间组件(值得收藏)
2016/05/05 PHP
Centos PHP 扩展Xchche的安装教程
2016/07/09 PHP
详解PHP防止盗链防止迅雷下载的方法
2017/04/26 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
用JavaScript页面不刷新时全选择,全删除(GridView)
2009/04/14 Javascript
jquery 子窗口操作父窗口的代码
2009/09/21 Javascript
jquery中eq和get的区别与使用方法
2011/04/14 Javascript
jQuery使用hide方法隐藏指定元素class样式用法实例
2015/03/30 Javascript
基于jquery编写的放大镜插件
2016/03/23 Javascript
浅谈JavaScript 中有关时间对象的方法
2016/08/15 Javascript
JS封装通过className获取元素的函数示例
2016/12/20 Javascript
浅谈angular4生命周期钩子
2017/09/05 Javascript
详解vue mint-ui源码解析之loadmore组件
2017/10/11 Javascript
详谈DOM简介及节点、属性、查找节点的方法
2017/11/16 Javascript
vue使用Proxy实现双向绑定的方法示例
2019/03/20 Javascript
微信小程序实现录音时的麦克风动画效果实例
2019/05/18 Javascript
Vue列表如何实现滚动到指定位置样式改变效果
2020/05/09 Javascript
vue使用video插件vue-video-player的示例
2020/10/03 Javascript
python中redis的安装和使用
2016/12/04 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
2018/02/21 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
2019/08/20 Python
新加坡时尚网上购物:Zalora新加坡
2016/07/26 全球购物
社区工作者感言
2014/03/02 职场文书
社区母亲节活动方案
2014/03/05 职场文书
保险公司年会主持词
2014/03/22 职场文书
运动会加油口号
2014/06/07 职场文书
2014年心理健康教育工作总结
2014/12/06 职场文书
2014年测量员工作总结
2014/12/12 职场文书
党风廉政建设个人总结
2015/03/06 职场文书
2015年保管员工作总结
2015/04/30 职场文书
学校教师培训工作总结
2015/10/14 职场文书
2019年新郎保证书3篇
2019/10/17 职场文书
python requests模块的使用示例
2021/04/07 Python
美元符号 $
2022/02/17 杂记