PaddleSeg 从配置文件和模型 URL 自动化运行预测任务

python 复制代码
git clone  https://github.com/PaddlePaddle/PaddleSeg.git
python 复制代码
# 在ipynb里面运行
cd PaddleSeg
python 复制代码
import sys
sys.path.append('/home/aistudio/work/PaddleSeg')
python 复制代码
import os

# 配置文件夹路径
folder_path = "/home/aistudio/work/PaddleSeg/configs"

# 遍历文件夹,寻找所有 .yml 文件并存储到字典中
# key 是文件名(不带扩展名),value 是文件的完整路径
yml_files = {}
for root, dirs, files in os.walk(folder_path):
    for file in files:
        if file.lower().endswith(".yml"):
            file_path = os.path.join(root, file)
            file_name_without_extension = os.path.splitext(file)[0]  # 获取文件名(不带扩展名)
            yml_files[file_name_without_extension] = file_path  # 保存文件路径
            print(file_path)  # 打印找到的配置文件路径

# 读取包含模型 URL 的文件
file_to_read = "/home/aistudio/work/PaddleSeg/voc/pascal_voc12_urls_extracted.txt"
url_lines = {}
if os.path.exists(file_to_read):
    with open(file_to_read, 'r') as f:
        lines = f.readlines()
        for line in lines:
            url = line.strip()  # 去除换行符和多余空格
            parsed_name = url.split("/")[-2]  # 提取 URL 中的模型名称部分
            url_lines[parsed_name] = url  # 保存模型名称与 URL 的映射
            print(url)  # 打印提取的 URL
else:
    print(f"File not found: {file_to_read}")  # 如果文件不存在,打印提示信息

# 拼接并运行预测命令
base_command = "python tools/predict.py --config {} --model_path {} --image_path /home/aistudio/data/data117064/voctestimg --save_dir {}"
for model_name, model_path in url_lines.items():
    if model_name in yml_files:  # 检查模型名称是否有对应的配置文件
        config_file = yml_files[model_name]  # 获取匹配的配置文件路径
        save_dir = f"output/{model_name}"  # 保存路径按照模型名称组织
        os.makedirs(save_dir, exist_ok=True)  # 确保保存目录存在
        command = base_command.format(config_file, model_path, save_dir)  # 填充命令模板
        print(f"Executing: {command}")  # 打印正在执行的命令
        os.system(command)  # 执行命令
    else:
        print(f"No matching config file found for model: {model_name}")  # 如果没有匹配的配置文件,打印提示信息
相关推荐
厦门辰迈智慧科技有限公司2 分钟前
电子界桩的技术原理和功能特点
安全·自动化·电子界桩·智能电子界桩
free-elcmacom5 分钟前
机器学习高阶教程<5>当机器学习遇上运筹学:破解商业决策的“终极难题”
人工智能·python·机器学习
技术小甜甜5 分钟前
[Python实战] 告别浏览器驱动烦恼:用 Playwright 优雅实现网页自动化
开发语言·python·自动化
Lun3866buzha15 分钟前
大型铸件表面缺陷检测与分类_YOLO11-C2BRA应用实践
人工智能·分类·数据挖掘
递归尽头是星辰17 分钟前
AI 驱动的报表系统:从传统到智能的落地与演进
大数据·人工智能·大模型应用·spring ai·ai 报表·报表智能化
Wang ruoxi18 分钟前
基于最小二乘法的离散数据拟合
人工智能·算法·机器学习
星星泡饭29222 分钟前
工业标识自动化——MARKING Configurator 从数据导入到热转移打印的全流程教程
运维·自动化·菲尼克斯
阿杰学AI23 分钟前
AI核心知识56——大语言模型之ToT(简洁且通俗易懂版)
人工智能·ai·语言模型·提示工程·tot·pe·思维树
Baihai_IDP23 分钟前
你说的 CUDA 到底是哪个 CUDA?一文理清那些让人混淆的术语和版本号
人工智能·面试·llm
中科米堆24 分钟前
自动化大尺寸批量3D检测,自动化三维扫描系统实现钢板支架在线检测-中科米堆CASAIM
运维·3d·自动化·3d全尺寸检测