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求素数示例分享
Feb 16 Python
Python中用Spark模块的使用教程
Apr 13 Python
Python中用Decorator来简化元编程的教程
Apr 13 Python
Python计算三角函数之asin()方法的使用
May 15 Python
详解Python编程中基本的数学计算使用
Feb 04 Python
Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
Oct 11 Python
opencv resize图片为正方形尺寸的实现方法
Dec 26 Python
Python中的整除和取模实例
Jun 03 Python
哪些是python中web开发框架
Jun 17 Python
利用python汇总统计多张Excel
Sep 22 Python
pytorch显存一直变大的解决方案
Apr 08 Python
pytorch实现加载保存查看checkpoint文件
Jul 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
2.PHP入门
2006/10/09 PHP
PHP转换文件夹下所有文件编码的实现代码
2013/06/06 PHP
jquery复选框CHECKBOX全选、反选
2008/08/30 Javascript
Prototype 学习 工具函数学习($A方法)
2009/07/12 Javascript
ext checkboxgroup 回填数据解决
2009/08/21 Javascript
jQuery对val和atrr("value")赋值的区别介绍
2014/09/26 Javascript
AngularJS语法详解(续)
2015/01/23 Javascript
JQuery中extend的用法实例分析
2015/02/08 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
2016/04/26 Javascript
浅谈JavaScript中的this指针和引用知识
2016/08/05 Javascript
JavaScript-html标题滚动效果的简单实现
2016/09/08 Javascript
JavaScript数组迭代方法
2017/03/03 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
2018/08/19 Javascript
vue项目打包之后背景样式丢失的解决方案
2019/01/17 Javascript
详解在React-Native中持久化redux数据
2019/05/22 Javascript
js实现一款简单踩白块小游戏(曾经很火)
2019/12/02 Javascript
[40:13]Ti4 冒泡赛第二天 iG vs NEWBEE 2
2014/07/15 DOTA
python实现爬虫统计学校BBS男女比例之多线程爬虫(二)
2015/12/31 Python
python opencv之SIFT算法示例
2018/02/24 Python
从请求到响应过程中django都做了哪些处理
2018/08/01 Python
对pandas通过索引提取dataframe的行方法详解
2019/02/01 Python
详解Python中is和==的区别
2019/03/21 Python
Python提取特定时间段内数据的方法实例
2019/04/01 Python
python数据类型之间怎么转换技巧分享
2019/08/20 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
python框架Django实战商城项目之工程搭建过程图文详解
2020/03/09 Python
爱他美官方海外旗舰店:Aptamil奶粉
2017/12/22 全球购物
大学生作弊检讨书
2014/02/19 职场文书
介绍信模板
2015/01/31 职场文书
python3.9之你应该知道的新特性详解
2021/04/29 Python
Python异常类型以及处理方法汇总
2021/06/05 Python
自动在Windows中运行Python脚本并定时触发功能实现
2021/09/04 Python
解决xampp安装后Apache无法启动
2022/03/21 Servers
Windows Server 2016 配置 IIS 的详细步骤
2022/04/28 Servers
springboot+rabbitmq实现智能家居实例详解
2022/07/23 Java/Android