dailenson / SDT

This repository is the official implementation of Disentangling Writer and Character Styles for Handwriting Generation (CVPR23).
MIT License
956 stars 81 forks source link

想尝试用test.py生成字体,但是报错,尚不清楚原因 #50

Open 13232308597 opened 7 months ago

13232308597 commented 7 months ago

image

貌似是跟这个文件夹有关 image

我尝试删除掉test文件夹后运行程序,依然报错,而且会在原路径重新生成一个test文件,不知道是不是因为lmdb读取不了里面的数据才报错的

dailenson commented 7 months ago

试试把test.py中的31行直接删掉?

13232308597 commented 7 months ago

试试把test.py中的31行直接删掉?

感谢回复,我试试看

13232308597 commented 7 months ago

除了删掉31行外,我还把26行的num_workers=cfg.DATA_LOADER.NUM_THREADS改为num_workers=0,好像是因为原本的代码会把一些数据序列化,但“Environment”无法被序列化,所以会报错。现在可以运行起来了

13232308597 commented 7 months ago

关于手写体图片,我只是粗略裁剪,不是严格的64x64,因为作者有说过程序会自动将图片调整为64x64,样本的格式为.jpg和.png,没有调整为.pkl。另外这些图片我是在C:\desktop\SDT-master(new)\SDT-master下新建了一个style_samples,然后把图片放进里面的,不是在原有的某个文件夹放置的。不过我试过user_generate.py和test.py这两个程序,得到的结果样式都是一笔画,能看出字形但是很潦草,跟我自己写的很不一样。一个可能是手写字样本本身笔画宽度不是均匀的,识别时候可能出现问题,另一个可能是样本数量不够。

在 2024-01-21 17:08:18,"chiaoooo" @.***> 写道:

您好,我已经将手写图片调整成64x64大小,并储存为 .pkl 档案。看了 issue 我想接下来要做的是将我的 .pkl 档放入 test_style_samples,并将 writer_dict.pkl 做修改,但这部分我并没有成功。

我的步骤是:将我的.pkl 档命名为006.pkl,然后把writer_dict.pkl 的"test_writer": {"006.pot": 0} 改成这样,並執行test.py。我理想中这样应该只会生成我的字体,其他writer 的手写体就不会被生成,但我在执行时就会出现抓不到其他writer.pkl 档案的错误

想請問您是怎麼做的呢?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

ZhQkYu commented 5 months ago

test_env = lmdb.open(os.path.join(opt.save_dir, 'test'), map_size=1073741824) map_size改的小点就行,之前是1TB,目前是1GB