运行StyleGAN的train.py触发AssertionError,如何设置正确的tfrecord_dir参数?
StyleGAN训练AssertionError(tfrecord_dir路径问题)解决办法
你遇到的AssertionError是因为代码找不到指定的tfrecord目录,核心问题是相对路径的工作目录不匹配,以下是几种可行的解决方式:
方法1:使用绝对路径
直接将tfrecord_dir设置为数据集目录的完整绝对路径,比如:
tfrecord_dir = 'C:/Users/dell/Desktop/Data Science/GAN/stylegan/dataset'
绝对路径不会受工作目录影响,能彻底避免路径歧义。
方法2:修正工作目录后运行脚本
你当前是在C:\Users\dell目录下执行train.py,此时Python的工作目录是C:\Users\dell,相对路径dataset会指向C:\Users\dell\dataset,自然找不到目标目录。可以先切换到train.py所在目录再运行:
cd "C:/Users/dell/Desktop/Data Science/GAN/stylegan" python train.py
这样默认的tfrecord_dir='dataset'就能正确指向\stylegan\dataset。
方法3:在代码中动态获取脚本所在目录
修改train.py中tfrecord_dir的设置,让它基于脚本自身的位置生成相对路径,避免工作目录影响:
import os # 获取train.py所在的目录路径 script_path = os.path.abspath(__file__) script_dir = os.path.dirname(script_path) # 拼接数据集目录路径 tfrecord_dir = os.path.join(script_dir, 'dataset')
额外检查项
- 确认
\stylegan\dataset目录确实存在,且目录名称没有拼写错误(注意大小写,Windows系统虽不严格区分,但代码中尽量保持一致) - 确保当前用户对该目录有访问权限,没有被系统权限拦截
内容的提问来源于stack exchange,提问作者bullor
相关产品推荐
相关产品推荐

