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中利用函数装饰器实现备忘功能
Mar 30 Python
Python实现朴素贝叶斯分类器的方法详解
Jul 04 Python
pygame实现简易飞机大战
Sep 11 Python
解决python字典对值(值为列表)赋值出现重复的问题
Jan 20 Python
mac系统下Redis安装和使用步骤详解
Jul 09 Python
详解Django 时间与时区设置问题
Jul 23 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
Oct 17 Python
python栈的基本定义与使用方法示例【初始化、赋值、入栈、出栈等】
Oct 24 Python
解决tensorflow由于未初始化变量而导致的错误问题
Jan 06 Python
jupyter notebook 的工作空间设置操作
Apr 20 Python
python爬虫中url管理器去重操作实例
Nov 30 Python
详解Python中__new__方法的作用
Mar 31 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 简单数组排序实现代码
2009/08/05 PHP
PHP 开源框架22个简单简介
2009/08/24 PHP
php操作sqlserver关于时间日期读取的小小见解
2009/11/29 PHP
php 生成随机验证码图片代码
2010/02/08 PHP
轻松掌握php设计模式之访问者模式
2016/09/23 PHP
jquery 屏蔽一个区域内的所有元素,禁止输入
2009/10/22 Javascript
Tinymce+jQuery.Validation使用产生的BUG
2010/03/29 Javascript
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
2011/07/08 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
2013/11/29 Javascript
Vue组件tree实现树形菜单
2017/04/13 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(下)
2018/04/18 Javascript
create-react-app 修改为多入口编译的方法
2018/08/01 Javascript
微信小程序时间标签和时间范围的联动效果
2019/02/15 Javascript
详解Vue Cli浏览器兼容性实践
2020/06/08 Javascript
利用python获取Ping结果示例代码
2017/07/06 Python
selenium python浏览器多窗口处理代码示例
2018/01/15 Python
Python+tkinter模拟“记住我”自动登录实例代码
2018/01/16 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/26 Python
Django 过滤器汇总及自定义过滤器使用详解
2019/07/19 Python
详解Django 时间与时区设置问题
2019/07/23 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
Python图像处理库PIL的ImageFont模块使用介绍
2020/02/26 Python
python爬虫使用正则爬取网站的实现
2020/08/03 Python
详解python3类型注释annotations实用案例
2021/01/20 Python
Django+Django-Celery+Celery的整合实战
2021/01/20 Python
python中的unittest框架实例详解
2021/02/05 Python
python Protobuf定义消息类型知识点讲解
2021/03/02 Python
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
查找廉价航班和发现新目的地:Kiwi.com
2019/02/25 全球购物
澳大利亚著名的纺织品品牌:Canningvale
2020/05/05 全球购物
环境工程大学生个人的自我评价
2013/10/08 职场文书
大型活动策划方案
2014/01/12 职场文书
教学实验楼管理制度
2014/02/01 职场文书
数学教研活动总结
2014/07/02 职场文书
MySQL 角色(role)功能介绍
2021/04/24 MySQL
简单且有用的Python数据分析和机器学习代码
2021/07/02 Python