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以并发方式编写高性能端口扫描器的方法
Jun 14 Python
用python实现简单EXCEL数据统计的实例
Jan 24 Python
Python函数和模块的使用总结
May 20 Python
django foreignkey(外键)的实现
Jul 29 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
Aug 27 Python
Python批量启动多线程代码实例
Feb 18 Python
python使用pymongo与MongoDB基本交互操作示例
Apr 09 Python
python中的split、rsplit、splitlines用法说明
Oct 23 Python
Python如何利用Har文件进行遍历指定字典替换提交的数据详解
Nov 05 Python
Python+logging输出到屏幕将log日志写入文件
Nov 11 Python
python爬虫用request库处理cookie的实例讲解
Feb 20 Python
Python实现学生管理系统(面向对象版)
Jun 24 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
第十二节--类的自动加载
2006/11/16 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
2016/03/05 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
2017/02/07 PHP
phpmyadmin在宝塔面板里进不去的解决方案
2020/07/06 PHP
基于jquery的气泡提示效果
2010/05/31 Javascript
JSF中confirm弹出框的用法示例介绍
2014/01/07 Javascript
Javascript中使用A标签获取当前目录的绝对路径方法
2015/03/02 Javascript
如何利用JSHint减少JavaScript的错误
2016/08/23 Javascript
基于bootstrap风格的弹框插件
2016/12/28 Javascript
JavaScript正则获取地址栏中参数的方法
2017/03/02 Javascript
vue图片加载与显示默认图片实例代码
2017/03/16 Javascript
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
2017/03/30 Javascript
js评分组件使用详解
2017/06/06 Javascript
jquery判断滚动条距离顶部的距离方法
2018/09/05 jQuery
p5.js绘制创意自画像
2019/11/04 Javascript
微信小程序scroll-view的滚动条设置实现
2020/03/02 Javascript
JavaScript实现音乐导航效果
2020/11/19 Javascript
Python中特殊函数集锦
2015/07/27 Python
Python数据结构与算法之图结构(Graph)实例分析
2017/09/05 Python
python 实现在txt指定行追加文本的方法
2018/04/29 Python
简单的Python调度器Schedule详解
2019/08/30 Python
python实现密码强度校验
2020/03/18 Python
python 第三方库paramiko的常用方式
2021/02/20 Python
Meli Melo官网:名媛们钟爱的英国奢侈手包品牌
2017/04/17 全球购物
全球高级音频和视频专家:HiDef Lifestyle
2019/08/02 全球购物
如何唤起类中的一个方法
2013/11/29 面试题
四年大学生活的个人自我评价
2013/12/11 职场文书
汽车运用工程系毕业生自荐信
2013/12/27 职场文书
文秘求职信范文
2014/04/10 职场文书
文化产业实施方案
2014/06/07 职场文书
2014年党员整改措施
2014/10/24 职场文书
2015年计算机教师工作总结
2015/07/22 职场文书
通讯稿格式及范文
2015/07/22 职场文书
2016干部作风整顿心得体会
2016/01/22 职场文书
党组织结对共建协议书
2016/03/23 职场文书
Python提取PDF指定内容并生成新文件
2021/06/09 Python