首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >StackGAN pickle错误

StackGAN pickle错误
EN

Stack Overflow用户
提问于 2018-03-31 06:16:14
回答 1查看 78关注 0票数 0

我正在尝试运行this代码库中的代码,这意味着我必须让这个get_data函数正常工作:

代码语言:javascript
复制
def get_data(self, pickle_path, aug_flag=True):
    with open(pickle_path + self.image_filename, 'rb') as f:
        images = pickle.load(f)   # <--------- THIS line is the problem
        images = np.array(images)
        print('images: ', images.shape)
    # do more things here

但是它给出了错误ValueError: unsupported pickle protocol: 3,所以我找到了建议here,他们推荐了一种不同的协议:pickle.dump(images, f, protocol=2)

代码语言:javascript
复制
def get_data(self, pickle_path, aug_flag=True):
    with open(pickle_path + self.image_filename, 'rb') as f:
        pickle.dump(images, f, protocol=2)   # still bad
        images = np.array(images)
        print('images: ', images.shape)
    # do more things here

但是,这会给出错误UnboundLocalError: local variable 'images' referenced before assignment。有没有办法可以解决这个问题,特别是针对StackGAN/misc/datasets.py

EN

回答 1

Stack Overflow用户

发布于 2018-03-31 06:40:51

我找到了答案here

代码语言:javascript
复制
def get_data(self, pickle_path, aug_flag=True):
    with open(pickle_path + self.image_filename, 'rb') as f:
        pickle.dump(pickle.load(sys.stdin), sys.stdout, 2)  # <----- *****
        images = np.array(images)
        print('images: ', images.shape)
    # do more things here

StackGAN提供了在Python3中保存的文件,我需要将这些文件转换为Python2协议

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49582103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档