pfcfuse/test_shell.py
zjut 0e6064181a 新增SAR图像处理功能并优化模型性能
- 新增BaseFeatureExtractionSAR和DetailFeatureExtractionSAR类,专门用于SAR图像的特征提取
- 在Restormer_Encoder中加入SAR图像处理的支持,通过新增的SAR特征提取模块提高模型对SAR图像的处理能力
- 更新test_IVF.py,增加对SAR图像的测试,验证模型在不同数据集上的性能
- 通过这些修改,模型在TNO和RoadScene数据集上的表现得到显著提升,详细指标见日志文件
2024-10-09 12:09:30 +08:00

42 lines
1.5 KiB
Python

import os
import subprocess
import datetime
import sys
# 定义命令
command = "/home/star/anaconda3/envs/pfcfuse/bin/python /home/star/whaiDir/PFCFuse/test_IVF.py"
# 获取当前时间并格式化为文件名
current_time = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
output_file = f"/home/star/whaiDir/PFCFuse/logs/ans_log_{current_time}.log"
try:
# 打开文件用于写入
with open(output_file, 'w') as log_file:
# 运行命令
process = subprocess.Popen(command.split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
universal_newlines=True)
# 循环读取输出
for line in process.stdout:
# 同时打印到控制台和写入文件
print(line.strip())
log_file.write(line)
log_file.flush() # 确保立即写入文件
# 等待命令完成
process.wait()
# 检查返回码
if process.returncode != 0:
raise subprocess.CalledProcessError(process.returncode, command)
# 如果命令成功执行,则打印确认信息
print(f"Command executed successfully. Output has been written to {output_file}")
except subprocess.CalledProcessError as e:
# 如果命令执行失败,则删除文件并打印错误信息
if os.path.exists(output_file):
os.remove(output_file)
print(f"Command failed with return code {e.returncode}. No log file was created.")