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 Socket之客户端和服务端握手详解
Sep 18 Python
python flask中静态文件的管理方法
Mar 20 Python
Python 普通最小二乘法(OLS)进行多项式拟合的方法
Dec 29 Python
python多进程读图提取特征存npy
May 21 Python
PyQt5的安装配置过程,将ui文件转为py文件后显示窗口的实例
Jun 19 Python
Django之提交表单与前后端交互的方法
Jul 19 Python
Python字典推导式将cookie字符串转化为字典解析
Aug 10 Python
pytorch方法测试——激活函数(ReLU)详解
Jan 15 Python
python实现高斯投影正反算方式
Jan 17 Python
python获取本周、上周、本月、上月及本季的时间代码实例
Sep 08 Python
python多线程和多进程关系详解
Dec 14 Python
python 如何把docker-compose.yaml导入到数据库相关条目里
Jan 15 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使用MySQL保存session会话的方法
2015/06/18 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
2016/11/09 PHP
PHP文件与目录操作示例
2016/12/24 PHP
详解PHP中mb_strpos的使用
2018/02/04 PHP
javascript温习的一些笔记 基础常用知识小结
2011/06/22 Javascript
JS实现按钮控制计时开始和停止功能
2017/07/27 Javascript
layui多iframe页面控制定时器运行的方法
2019/09/05 Javascript
JavaScript实现网页tab栏效果制作
2020/11/20 Javascript
Vue中的nextTick作用和几个简单的使用场景
2021/01/25 Vue.js
Python编程入门的一些基本知识
2015/05/13 Python
python列出目录下指定文件与子目录的方法
2015/07/03 Python
Python基于回溯法子集树模板解决取物搭配问题实例
2017/09/02 Python
Django基于ORM操作数据库的方法详解
2018/03/27 Python
pandas全表查询定位某个值所在行列的方法
2018/04/12 Python
python抓取京东小米8手机配置信息
2018/11/13 Python
pycham查看程序执行的时间方法
2018/11/29 Python
python 将大文件切分为多个小文件的实例
2019/01/14 Python
PyTorch中反卷积的用法详解
2019/12/30 Python
python3爬取torrent种子链接实例
2020/01/16 Python
基于python获取本地时间并转换时间戳和日期格式
2020/10/27 Python
scrapy处理python爬虫调度详解
2020/11/23 Python
CSS3字体效果的设置方法小结
2016/06/13 HTML / CSS
CSS3使用多列制作瀑布流
2016/05/10 HTML / CSS
纯css3使用vw和vh实现自适应的方法
2018/02/09 HTML / CSS
css3实现文字首尾衔接跑马灯的示例代码
2020/10/16 HTML / CSS
全球最大的游戏市场:G2A
2018/07/05 全球购物
"火柴棍式"程序员面试题
2014/03/16 面试题
中英双版中文教师求职信
2013/10/27 职场文书
平面设计师的工作职责
2013/11/21 职场文书
经典导游欢迎词大全
2014/01/16 职场文书
优秀大学生求职自荐信范文
2014/04/19 职场文书
听课评语大全
2014/04/30 职场文书
庆元旦主持词
2015/07/06 职场文书
高效课堂教学反思
2016/02/24 职场文书
中国式结婚:司仪主持词(范文)
2019/07/25 职场文书
Java实现添加条码或二维码到Word文档
2022/06/01 Java/Android