jupyter notebook参数化运行python

2023-11-07

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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jupyter notebook参数化运行python 的相关文章

随机推荐

  • 卸载掉360之后无法删除360safe文件夹解决办法!

    卸载掉360之后无法删除360safe文件夹解决办法 问题是这样的 选择 360safe 文件夹 右键选择 删除 结果如下 一开始觉得是360未卸载干净 比如 360主动防御模块 之类的 但是 打开任务管理器一看 没有与360相关的东东了呀
  • 紫光云服务器芯片,紫光云与新华三半导体共建芯片设计云2.0 携手打造一站式云端芯片平台...

    原标题 紫光云与新华三半导体共建芯片设计云2 0 携手打造一站式云端芯片平台 2021年是芯片设计云元年 行业需求呈现井喷态势 中国云服务新势力脱颖而出 在世界舞台崭露头角 为中国集成电路行业发展插上了隐形翅膀 近日 紫光云就正式通过三星F
  • 【牛客网 - 华为机试】HJ1 字符串最后一个单词的长度

    HJ1 字符串最后一个单词的长度 题目描述 计算字符串最后一个单词的长度 单词以空格隔开 输入描述 输入一行 代表要计算的字符串 非空 长度小于5000 输出描述 输出一个整数 表示输入字符串最后一个单词的长度 示例1 输入 hello n
  • redis输入密码去除提示Warning: Using a password redis输入密码去除提示Warning: Using a password...

    2019独角兽企业重金招聘Python工程师标准 gt gt gt redis输入密码去除提示Warning Using a password hello运维 百家号11 0510 41 问题现象 redis的监控 经常使用zabbix 通
  • MVC框架理解(整理)

    MVC是三个单词的首字母缩写 它们是Model 模型 View 视图 和Controller 控制 视图 视图 View 代表用户交互界面 对于Web应用来说 可以概括为HTML界面 但有可能为XHTML XML和Applet 随着应用的复
  • 通过命令行关闭Bitlocker

    cmd中输入以下命令关闭 manage bde off C 但是有时候出现如下提示 此时需要先执行如下命令 系统分区不是C的话更改下面的盘符 manage bde autounlock ClearAllKeys c 然后再执行即可 mana
  • 干货来了!!简单操作让你的GitHub格子重新绿起来

    自从得知了GitHub这个网站 我就开始把自己的代码每天提交上去 看着小绿格子慢慢的特别有成就感 事故 发生了 就在上周一之后我的小绿格子突然不变色了 我一直以为是学校网太差 一周过去了总觉得不对劲 专门找时间查了一下 经过在网上搜索 我的
  • 编写高质量代码:改善Java程序的151个建议(第1章:Java开发中通用的方法和准则___建议14~20)...

    作为一个由影视圈转行做Java的菜鸟来说 读书是很关键的 本系列是用来记录 编写高质量代码 改善java程序的151个建议 这本书的读书笔记 方便自己查看 也方便大家查阅 建议14 使用序列化类的私有方法巧妙解决部分属性持久化问题 建议15
  • Windows通过powershell永久添加、删除环境变量

    文章目录 1 管理环境变量 PATH 1 1 添加powershell函数 1 2 函数用法 2 管理非 PATH 环境变量 使用windows系统时 当安装或解压一个可执行程序后 为了更方便的调用程序 往往会向环境变量 path中添加该程
  • 分布式并发查询结果不重复可行性方案

    场景 接口逻辑 资源池获取数据 并在拿到数据后进行更新 问题 高并发下 获取的结果集相同的概率大 资源争抢更新 导致并发的相同的数据后更新的异常 尝试方案 序号 方案 问题 1 获取结果集100个 随机挑选一个 不可行 并发和随机到同一个的
  • [转]background-image属性研究

    http blog sina com cn s blog 4a0eab070100d8pk html 在设置background image属性时 经常会遇到一个background position 一直不怎么会用 今天有空研究下 版本
  • ssh简介

    常见的远程管理工具方式 RDP remote desktop protocal 协议 windows远程桌面管理 图形界面 telenet CLI界面下远程管理 几乎所有操作系统都有 内容明文传输 23 ssh CLI界面下的远程管理 几乎
  • WIFI:802.11协议帧格式

    802协议桢格式 802 11和Wi Fi技术并不是同一个东西 Wi Fi标准是802 11标准的一个子集 并且是Wi Fi联盟负责管理 802协议桢格式 协议 发布年份 日期 Op 标准频宽 实际速度 标准 实际速度 最大 半径范围 室内
  • JavaScript和php(各版本)对称加解密

    使用npm先安装crypto js npm install crypto js javascript对称加解密 import CryptoJs from crypto js method encrypt 对称加密字符串 param Stri
  • 八股文死记硬背打脸记

    背景 我们都知道 再编程领域数据结构的重要性 常见的数据结构包括 List Set Map Queue Tree Graph Stack 等 其中 List Set Map Queue 可以从广义上统称为集合类数据结构 而Java也提供了很
  • C语言中如何使用system函数

    C语言中如何使用system函数 一 system函数 c语言中的system 函数主要用于发出一个DOS命令 该函数已经收录在标准c库中 可以直接调用 使用时包含头文件
  • Rancher和K8s的关系是什么?Rancher和K8s区别对比

    Rancher和K8s的关系是什么 K8s全称为Kubernetes 它是一个开源的 用于管理云平台中多个主机上的容器化的应用 而Rancher是一个完全开源的企业级多集群Kubernetes管理平台 实现了Kubernetes集群在混合云
  • Matrikon OPC 模拟器使用教程

    一 OPC协议 OPC通信技术因其帮助大量的使用不同通信协议的下层现场设备的数据得以与上位机的应用程序进行交互的作用 成为了一种工业通信领域中一套广为流行的方案 它使得硬件供应商和软件开发商都可以专注于做自己的工作 只要双方都能提供OPC接
  • Python NLTK 自然语言处理入门与例程

    Python NLTK 自然语言处理入门与例程 在这篇文章中 我们将基于 Python 讨论自然语言处理 NLP 本教程将会使用 Python NLTK 库 NLTK 是一个当下流行的 用于自然语言处理的 Python 库 那么 NLP 到
  • jupyter notebook参数化运行python

    Updates 2019 8 14 19 53 吃饭前用这个方法实战了一下 吃完回来一看好像不太行 跑完一组参数之后 到跑下一组参数时好像没有释放之占用的 GPU 于是 notebook 上的结果 后面好几条都报错说 cuda out of