批量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 脚本的路径、模型配置文件的路径、模型检查点文件的路径、输入图片的路径和输出图片的路径。此命令将运行图像分割并将结果保存到输出路径中的同名文件。


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

相关文章
|
人工智能 数据挖掘 API
AutoGen完整教程和加载本地LLM示例
Autogen是一个卓越的人工智能系统,它可以创建多个人工智能代理,这些代理能够协作完成任务,包括自动生成代码,并有效地执行任务。
714 0
PS - 批量处理(以批量修改图片像素为例)
PS - 批量处理(以批量修改图片像素为例)
3684 0
PS - 批量处理(以批量修改图片像素为例)
|
29天前
|
机器学习/深度学习 JSON 算法
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-Seg模型进行图像分割的完整流程,包括图像分割的基础知识、YOLOv5-Seg模型的特点、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。通过实例代码,指导读者从自定义数据集开始,直至模型的测试验证,适合深度学习领域的研究者和开发者参考。
266 2
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
|
29天前
|
机器学习/深度学习 并行计算 数据可视化
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用PaddleClas框架完成多标签分类任务,包括数据准备、环境搭建、模型训练、预测、评估等完整流程。
75 0
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
|
1月前
|
监控 测试技术
【问题实战】Jmeter中jtl格式转换图片后如何分开展示各个性能指标?
在使用JMeter进行性能测试时,若希望将不同性能指标(如CPU、DiskIO、Mem)分别显示在不同图片中,需在测试计划中为每个指标添加独立的`jp@gc - PerfMon Metrics Collector`监控器,并设置各自的数据保存路径。通过命令行模式执行压测并使用`JMeterPluginsCMD`工具针对每个生成的`.jtl`文件转换为单独的图片,从而实现分指标展示的效果。这解决了默认情况下所有监控指标显示在同一张图片上的问题。
45 0
【问题实战】Jmeter中jtl格式转换图片后如何分开展示各个性能指标?
|
4月前
|
Serverless 文件存储 对象存储
函数计算操作报错合集之如何处理安装了ControlNet但无法加载出预览图并报错
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
函数计算操作报错合集之如何处理安装了ControlNet但无法加载出预览图并报错
yolo自动标注时缺失的txt文件批量创建之脚本
使用yolov5做推理时并保存yolo格式的txt文件的时候,当图片上没有检测到目标时,yolov5将不会保存空的txt文件,导致txt文件缺失,yolo训练时报错。所以写了个简单的小脚本,在不影响原来已存在txt文件的前提下,来批量创建缺失的空txt文件并确保txt文件的总数量与图片的总数量一致。温馨提示:运行此脚本时,一定要注意图片和txt文件的文件名中,除了文件名后缀前有一个。
151 0
|
机器学习/深度学习 数据可视化 Java
TensorFlow 高级技巧:自定义模型保存、加载和分布式训练
本篇文章将涵盖 TensorFlow 的高级应用,包括如何自定义模型的保存和加载过程,以及如何进行分布式训练。
|
数据安全/隐私保护 Python
python图片批量处理器批量加水印重命名源码
python图片批量处理器批量加水印重命名源码
167 0
|
数据采集 监控 开发者
网站流量日志分析--数据预处理--点击流模型之 pageviews 模型| 学习笔记
快速学习网站流量日志分析--数据预处理--点击流模型之 pageviews 模型
网站流量日志分析--数据预处理--点击流模型之 pageviews 模型| 学习笔记
下一篇
无影云桌面