GANimation填坑之旅

github地址:https://github.com/albertpumarola/GANimation

前言:跑深度学习的模型首先确保torch或者tensorflow的版本与发布者一致。出现了错误要去以往的issue看看,基本上能够解决遇到的问题了。

1、修改生成的pkl文件名

在data/prepare_au_annotations.py文件中的第35行。

save_dict(data, os.path.join(args.output_path, "aus"))
修改为
save_dict(data, os.path.join(args.output_path, "aus_openface"))
 2、修改生成pkl文件的协议

在data/prepare_au_annotations.py文件中的第24行。

pickle.dump(data, f, pickle.HIGHEST_PROTOCOL)
修改为
pickle.dump(data, f, protocol=0)
3、RuntimeError: the given numpy array has zero-sized dimensions. Zero-sized dimensions are not supported in PyTorch

这是因为EmotioNET的图片库中一部分图片有至少两个人存在,所以通过openface生成的csv文件中会包含两张人脸的信息。但我们只需要一张人脸的信息就够了。

在data/prepare_au_annotations.py文件中的第14行get_data函数中作如下修改。

def get_data(filepaths):
    data = dict()
    for filepath in tqdm(filepaths):
        content = np.loadtxt(filepath, delimiter=', ', skiprows=1)
        data[os.path.basename(filepath[:-4])] = content[2:19]
 
    return data
 
修改为
 
def get_data(filepaths):
    data = dict()
    for filepath in tqdm(filepaths):
        content = np.loadtxt(filepath, delimiter=', ', skiprows=1)
        if content.ndim == 1:
            data[os.path.basename(filepath[:-4])] = content[2:19]
        if content.ndim == 2:
            data[os.path.basename(filepath[:-4])] = content[0][2:19]
 
    return data
4、RuntimeError: cannot unsqueeze empty tensor

这个错误的原因我不太清楚,但修改方法是在data/dataset_aus.py文件的第25行。

while real_img is None or real_cond is None:
修改为
while real_img is None or len(real_cond) != 17
5、TypeError:Cannot handle this data type

发布者表示这是一个torch的版本问题,这个模型是用0.3.1版本写的,如果用torch0.4.1就会有这个错误。

在utils/tb_visualizer.py文件的第27行。

self._writer.add_image(sum_name, image_numpy, it)
修改为
self._writer.add_image(sum_name, np.transpose(image_numpy,(2,0,1)), it)
以上是我遇到过的bug,单独修改某处代码可能不会起作用,最好全部修改。
--------------------- 
作者:ZT0518 
来源:CSDN 
原文:https://blog.csdn.net/ZT0518/article/details/83574700 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值