我对这种图像处理工作还是个新手。我想构建一个MPII数据集described here类,用于在其上训练pytorch网络。我倾向于使用Python 3.6和pytorch 1.4
问题主要来自于MPII注释(download here)是.mat格式的,这是我不太熟悉的。我在Github上也找到了一些实现,比如这个deep high resolution net,还有这个Microsoft MPII dataset for python。后者实际上在MPII数据集上的许多实现中都被采用,但它太旧了。它是用pytorch==0.4.0和python2构建的,造成了很多环境冲突问题。
我现在想做的就是构建一个简单的pytorch数据集,它可以自动提取'annotation/‘目录中的关节位置,并将其与' image /’目录中的特定图像相结合。我希望返回值只是一个包含这两个条目的字典,这就是我所需要的。
我还注意到,许多研究人员倾向于将原始的“.mat”注释文件转换为“.json”格式。我认为这将使它更容易操作,但当我尝试这样做时,会遇到一些麻烦。
Python 3.6.10 |Anaconda, Inc.| (default, Jan 7 2020, 21:14:29)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import json
>>> from scipy.io import loadmat
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/billy/miniconda3/envs/datasci/lib/python3.6/json/__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
File "/home/billy/miniconda3/envs/datasci/lib/python3.6/json/encoder.py", line 199, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/home/billy/miniconda3/envs/datasci/lib/python3.6/json/encoder.py", line 257, in iterencode
return _iterencode(o, 0)
File "/home/billy/miniconda3/envs/datasci/lib/python3.6/json/encoder.py", line 180, in default
File "/home/billy/miniconda3/envs/datasci/lib/python3.6/json/encoder.py", line 180, in default
o.__class__.__name__)
TypeError: Object of type 'bytes' is not JSON serializable
我也在这个网站上看到了这个question,但我不确定我明白出了什么问题……非常感谢任何人的帮助!
发布于 2020-11-06 05:47:12
你可能已经解决了这个问题,因为9个月过去了,但我对这些环境/安装问题的简单解决方案是利用虚拟或在线环境。Google Colab就是一个例子。您可以使用工具而不是本地环境转换为.json
格式,并将转换后的文件应用于ML应用程序。
https://stackoverflow.com/questions/59916431
复制相似问题