批量demo推理图片脚本

简介: 批量demo推理图片脚本

代码

import os

config_file = 'configs/deeplabv3plus/deeplabv3plus_r101-d8_512x1024_80k_cityscapes.py'
checkpoint_file = 'work_dirs/deeplabv3plus_r101-d8_512x1024_80k_cityscapes/latest.pth'
input_dir = 'path/to/input/images'
output_dir = 'path/to/output/images'

# 循环遍历 input_dir 下的所有图片
for filename in os.listdir(input_dir):
    if filename.endswith('.jpg') or filename.endswith('.png'):
        input_path = os.path.join(input_dir, filename)
        output_path = os.path.join(output_dir, filename)
        os.system(f'python image_demo.py {config_file} {checkpoint_file} {input_path} {output_path}')


讲解

这段代码的作用是循环遍历指定目录下的所有图片,并对每张图片运行 image_demo.py 脚本进行图像分割,并将结果保存到指定目录下的同名文件。


现在让我们逐行解释代码的含义:

```python
import os


导入 Python 的标准库 os,用于操作文件和目录。

config_file = 'configs/deeplabv3plus/deeplabv3plus_r101-d8_512x1024_80k_cityscapes.py'

定义深度学习模型的配置文件路径。


```python
checkpoint_file = 'work_dirs/deeplabv3plus_r101-d8_512x1024_80k_cityscapes/latest.pth'

定义深度学习模型的检查点文件路径。

input_dir = 'path/to/input/images'


定义输入图片所在的目录路径。

output_dir = 'path/to/output/images'

定义输出图片保存的目录路径。

for filename in os.listdir(input_dir):

使用 os.listdir() 函数列出指定目录下的所有文件和目录,并使用 for 循环遍历每个文件和目录。

if filename.endswith('.jpg') or filename.endswith('.png'):

检查当前文件是否是一个 JPEG 或 PNG 格式的图片。

input_path = os.path.join(input_dir, filename)

将输入图片的路径定义为输入目录路径和文件名的组合。

output_path = os.path.join(output_dir, filename)

将输出图片的路径定义为输出目录路径和文件名的组合。

os.system(f'python image_demo.py {config_file} {checkpoint_file} {input_path} {output_path}')

使用 os.system() 函数执行带有命令行参数的命令,其中包括 image_demo.py 脚本的路径、模型配置文件的路径、模型检查点文件的路径、输入图片的路径和输出图片的路径。此命令将运行图像分割并将结果保存到输出路径中的同名文件。


综上所述,这段代码的作用是自动化运行图像分割模型对指定目录下的所有图片进行分割,并将结果保存到指定目录下的同名文件中。

相关文章
|
7月前
ModelScope中swft app-ui 命令怎么开启推理日志?
ModelScope中swft app-ui 命令怎么开启推理日志?【1月更文挑战第4天】【1月更文挑战第19篇】
57 1
PS - 批量处理(以批量修改图片像素为例)
PS - 批量处理(以批量修改图片像素为例)
3792 0
PS - 批量处理(以批量修改图片像素为例)
|
2月前
|
数据采集 Python
Python实用记录(七):通过retinaface对CASIA-WebFace人脸数据集进行清洗,并把错误图路径放入txt文档
使用RetinaFace模型对CASIA-WebFace人脸数据集进行清洗,并将无法检测到人脸的图片路径记录到txt文档中。
43 1
|
2月前
|
机器学习/深度学习 JSON 算法
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-Seg模型进行图像分割的完整流程,包括图像分割的基础知识、YOLOv5-Seg模型的特点、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。通过实例代码,指导读者从自定义数据集开始,直至模型的测试验证,适合深度学习领域的研究者和开发者参考。
760 3
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
|
2月前
|
机器学习/深度学习 并行计算 数据可视化
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用PaddleClas框架完成多标签分类任务,包括数据准备、环境搭建、模型训练、预测、评估等完整流程。
130 0
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
|
2月前
|
监控 测试技术
【问题实战】Jmeter中jtl格式转换图片后如何分开展示各个性能指标?
在使用JMeter进行性能测试时,若希望将不同性能指标(如CPU、DiskIO、Mem)分别显示在不同图片中,需在测试计划中为每个指标添加独立的`jp@gc - PerfMon Metrics Collector`监控器,并设置各自的数据保存路径。通过命令行模式执行压测并使用`JMeterPluginsCMD`工具针对每个生成的`.jtl`文件转换为单独的图片,从而实现分指标展示的效果。这解决了默认情况下所有监控指标显示在同一张图片上的问题。
66 0
【问题实战】Jmeter中jtl格式转换图片后如何分开展示各个性能指标?
|
5月前
|
Serverless 文件存储 对象存储
函数计算操作报错合集之如何处理安装了ControlNet但无法加载出预览图并报错
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
函数计算操作报错合集之如何处理安装了ControlNet但无法加载出预览图并报错
|
5月前
|
机器学习/深度学习 Serverless 异构计算
函数计算操作报错合集之上传模型提示报错,该怎么办
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
|
6月前
|
存储 并行计算 Serverless
函数计算操作报错合集之在使用控制网 (ControlNet)时遇到报错,一般是什么导致的
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
131 0
|
6月前
|
存储 计算机视觉 Python
huggingface下载的.arrow数据集读取与使用说明
huggingface下载的.arrow数据集读取与使用说明