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的Django框架代码的一些示例
Apr 20 Python
深入讲解Python函数中参数的使用及默认参数的陷阱
Mar 13 Python
Python实现将罗马数字转换成普通阿拉伯数字的方法
Apr 19 Python
python调用tcpdump抓包过滤的方法
Jul 18 Python
Python爬虫将爬取的图片写入world文档的方法
Nov 07 Python
Python中的字符串切片(截取字符串)的详解
May 15 Python
如何使用python把ppt转换成pdf
Jun 29 Python
Python批量修改图片分辨率的实例代码
Jul 04 Python
Python分割训练集和测试集的方法示例
Sep 19 Python
python下对hsv颜色空间进行量化操作
Jun 04 Python
十个Python自动化常用操作,即拿即用
May 10 Python
利用Python+OpenCV三步去除水印
May 28 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可变函数的使用详解
2013/06/14 PHP
PHP自定义函数格式化json数据示例
2016/09/14 PHP
javascript for循环从入门到偏门(效率优化+奇特用法)
2012/08/01 Javascript
使用JS读秒使用示例
2013/09/21 Javascript
JS是按值传递还是按引用传递
2015/01/30 Javascript
JS动态日期时间的获取方法
2015/09/28 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
2017/02/04 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
2017/06/21 Javascript
js轮播图的插件化封装详解
2017/07/17 Javascript
基于AngularJS实现表单验证功能
2017/07/28 Javascript
javascript实现最长公共子序列实例代码
2018/02/05 Javascript
Angular6 Filter实现页面搜索的示例代码
2018/12/02 Javascript
Nodejs实现用户注册功能
2019/04/14 NodeJs
Node 搭建一个静态资源服务器的实现
2019/05/20 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
2019/11/14 Javascript
JavaScript的垃圾回收机制与内存管理
2020/08/06 Javascript
[59:35]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第一场 1月8日
2021/03/11 DOTA
Python正则表达式介绍
2012/08/06 Python
python相似模块用例
2016/03/04 Python
Python计算字符宽度的方法
2016/06/14 Python
Python中struct模块对字节流/二进制流的操作教程
2017/01/21 Python
python print 按逗号或空格分隔的方法
2018/05/02 Python
Python 通过调用接口获取公交信息的实例
2018/12/17 Python
python常见字符串处理函数与用法汇总
2019/10/30 Python
pytorch masked_fill报错的解决
2020/02/18 Python
python如何把字符串类型list转换成list
2020/02/18 Python
python中常见错误及解决方法
2020/06/21 Python
python中threading和queue库实现多线程编程
2021/02/06 Python
新西兰领先的鞋类和靴子网上商城:Merchant 1948
2017/09/08 全球购物
校班主任推荐信范文
2013/12/03 职场文书
迟到检讨书400字
2014/01/13 职场文书
五型班组建设方案
2014/02/10 职场文书
烹饪自我鉴定
2014/03/01 职场文书
2015年度党风廉政建设工作情况汇报
2015/01/02 职场文书
学校教师师德师风承诺书
2015/04/28 职场文书
python3.7.2 tkinter entry框限定输入数字的操作
2021/05/22 Python