windows系统使用cmd执行.py文件并且传入参数 | 神经网络模型训练 | 主打能用就行

本文主要是介绍windows系统使用cmd执行.py文件并且传入参数 | 神经网络模型训练 | 主打能用就行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0. 本文概括/ 需求

  1. 这个文章cover了一下需求:

    • python环境由annaconda (conda同理)控制
    • 指定3个random seed,并且使用cmd命令依次执行train.py
    • train.py文件需要传入参数seed
    • train.py文件中,需要import位于其他.py文件中自定义的class/ function
  2. 本文涉及到的文件的组织架构为:

- PAProj- GT_model- GT_2.py   # 含有自定义的函数,被train.py import- MLP- net_saved # 保存模型的路径- train.py  # 最终执行的文件- Data	  

1. 必要检查/ 语句

  1. 因为 train.py需要import位于其他.py文件中自定义的class/ function,例如 train.py中的这一句:
from GT_model.GT_2 import eq1 as EQ1
  • 注意,自己在编译器,比如pycharm,中执行train.py时,如果GT_model这个路径下没有__init__.py文件,其实也是可以运行的
  • 但是使用cmd执行时会“看不到”,因此必须添加GT_model/__init__.py
    • __init__.py文件用于标记一个目录为Python的包(package),这样该目录下的Python文件就能被组织进同一个命名空间。
    • __init__.py文件不是强制性的,但是是标准的。
  1. train.py使用的路径最好写成绝对路径,一种常见的格式为:
    data_root = "D:/Desktop/PROJ/PAProj"net_root_path =  os.path.join(data_root, "MLP/net_saved/")
  1. 设置工作环境:
import sys
sys.path.insert(0, 'D:\\Desktop\\PROJ\\PAProj')

这个语句将指定的目录D:\\Desktop\\PROJ\\PAProj添加到Python的模块搜索路径的最前面。因此当我们尝试导入一个模块时,Python解释器将首先在这个目录下查找该模块

  1. argparse语句
import argparse
# 创建一个解析器对象
parser = argparse.ArgumentParser(description="Train under a specific seed.")
# 添加一会我们要在cmd中传入的seed参数
parser.add_argument("--seed", type=int, required=True, help="Train under a specific seed.")
# 解析命令行参数
args = parser.parse_args()
seed = args.seed

2. cmd命令

  1. 首先打开cmd后,激活conda环境,笔者这里使用的就是base环境
# base环境:
conda activate # xx环境
conda activate xx
  1. 定位到python工程:
D:
cd D:\Desktop\PROJ\PAProj
  1. 最后一步:执行命令,读入seed,在不同seed下,循环运行3次train.py
for %i in (62 149 508) do D:\Anaconda\python.exe "MLP\train.py" --seed %i
  • 最保险的版本是:显式的指定了用哪个版本的python去执行 D:\Anaconda\python.exe
  • 因为当前的工作环境是PAProj,我们想要运行的文件可以写相对路径,但是一定要加引号"MLP\train.py"

以上教程有很多不合适的地方,主打一个能用就行:)

这篇关于windows系统使用cmd执行.py文件并且传入参数 | 神经网络模型训练 | 主打能用就行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/210897

相关文章

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有

MyBatis ParameterHandler的具体使用

《MyBatisParameterHandler的具体使用》本文主要介绍了MyBatisParameterHandler的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、概述二、源码1 关键属性2.setParameters3.TypeHandler1.TypeHa

Spring 中的切面与事务结合使用完整示例

《Spring中的切面与事务结合使用完整示例》本文给大家介绍Spring中的切面与事务结合使用完整示例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录 一、前置知识:Spring AOP 与 事务的关系 事务本质上就是一个“切面”二、核心组件三、完

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Java实现远程执行Shell指令

《Java实现远程执行Shell指令》文章介绍使用JSch在SpringBoot项目中实现远程Shell操作,涵盖环境配置、依赖引入及工具类编写,详解分号和双与号执行多指令的区别... 目录软硬件环境说明编写执行Shell指令的工具类总结jsch(Java Secure Channel)是SSH2的一个纯J