You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Colab运行VQGAN+CLIP代码报SyntaxError语法错误求助

问题原因
  • 初始语法错误:pass是Python保留关键字,用于占位空语句,不能作为变量名使用,因此触发SyntaxError。
  • 修改变量名后参数不生效:你引用的第三方教程代码本身逻辑残缺,仅实现了全量图片打包功能,没有编写按间隔分卷打包的逻辑,你定义的间隔参数从未被代码调用,自然修改后没有效果。
  • 原代码附带隐藏bug:if final_image == -1: final_image = i 中引用的i是后续for循环内才会定义的临时变量,一旦设置final_image为-1,会直接触发变量未定义的运行时错误。
修复后可直接运行的代码

将Colab中对应代码单元整体替换为以下内容,即可实现每隔指定数量图片自动分卷打包为zip的需求:

# @title 分卷打包生成图片
initial_image = 0 #@param {type:"integer"}
final_image = 1350 #@param {type:"integer"}
pack_interval = 50 #@param {type:"integer"}
base_filename = "files" #@param {type:"string"}

import os
import zipfile
from tqdm import tqdm
from google.colab import files

# 修复final_image=-1时的取值逻辑
if final_image == -1:
  img_nums = []
  for f in os.listdir("steps"):
    if f.endswith(".png"):
      try:
        img_nums.append(int(f.split(".")[0]))
      except:
        pass
  final_image = max(img_nums) if img_nums else 0

# 按间隔分卷打包并自动下载
for seg_start in range(initial_image, final_image + 1, pack_interval):
  seg_end = min(seg_start + pack_interval - 1, final_image)
  zip_name = f"{base_filename}_{seg_start:04}-{seg_end:04}.zip"
  with zipfile.ZipFile(zip_name, "w", zipfile.ZIP_DEFLATED) as zipf:
    for img_idx in tqdm(range(seg_start, seg_end + 1), desc=f"打包 {zip_name}"):
      img_fname = f"{img_idx:04}.png"
      img_full_path = f"steps/{img_fname}"
      if os.path.exists(img_full_path):
        zipf.write(img_full_path, f"{base_filename}-{img_fname}")
  print(f"{zip_name} 打包完成,开始下载:")
  files.download(zip_name)
参数说明
  • pack_interval:分卷间隔,设置为50即每50张图片打包为一个zip文件,可根据需求直接修改表单中的数值
  • initial_image/final_image:打包的起始、结束图片序号,将final_image设为-1时会自动识别steps文件夹下已生成的最大图片序号作为结束点
  • base_filename:生成的zip压缩包的基础文件名
  • 代码新增了文件存在校验,若个别序号的图片生成失败,打包流程不会直接中断

内容的提问来源于stack exchange,提问作者RJ Heil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 17:33:46