python - 为 pytorch 1.3 定制的 MPII 数据集 python3 类
问题描述
我是这种图像处理工作的新手。我想构建一个此处描述的 MPII 数据集,用于在其上训练 pytorch 网络。我倾向于使用 Python 3.6 和 pytorch 1.4
问题主要在于 MPII 数据集注释(在此处下载)是 .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
我也在这个网站上看到了这个问题,但我不确定我是否理解出了什么问题......我非常感谢任何帮助!
解决方案
9 个月过去了,您可能已经解决了这个问题,但我对这类环境/安装问题的简单解决方案是利用虚拟或在线环境。一个例子是Google Colab。您可以.json
使用工具而不是本地环境转换为格式,并将转换后的文件应用于您的 ML 应用程序。
推荐阅读
- angular - 角度组件加载时间
- java - 具有百分比的代理参数
- regex - 正则表达式过滤掉电子邮件地址中的双句点
- python - 'for _ in range() 是什么意思
- php - PHP Language Server 服务器在过去 3 分钟内崩溃了 5 次。服务器不会重启
- sql - 基于一列中的字符串将一行转换为多行多列
- excel - 在宏外部声明的变量的“编译错误:未定义变量”
- dynamics-crm - 如何防止重复的 Dynamics CRM 插件步骤
- odoo - 如何在字段 odoo 11 中将默认值设置为年份?
- python - 我只是不能将同名的行添加到另一个数据集?