python - SageMaker 图像分类 : How to get an ordered list of classes corresponding to the output of the model

标签 python deep-learning mxnet multilabel-classification amazon-sagemaker

我正在使用自定义数据集在 AWS sagemaker 上训练多类图像分类模型。该数据集有大约 50 个类。我正在关注这个笔记本:Image classification transfer learning demo

根据我的理解,模型的最后一层输出对应于我们数据集中每个类别的概率。 Sagemaker 期望数据集以 mxnet recordio 的 .rec 格式提供。因为我没有手动将标签转换为单热编码,所以我不知道哪一层正在为哪个类输出概率。如何获得有序的类列表,其中索引对应于模型最后一层的输出。

即使是 AWS 提供的笔记本(上面的链接)也有硬编码的有序列表(列表:object_categories)。

转换为 .rec 格式之前我的数据集如下所示:

./train/object1/
   -image1.jpg
   -image2.jpg
   -image3.jpg
   -...image500.jpg
./train/object2/
   -image1.jpg
   -image2.jpg
   -image3.jpg
   -...image500.jpg
.
.
.
./train/object50/
   -image1.jpg
   -image2.jpg
   -image3.jpg
   -...image500.jpg

我们将不胜感激任何帮助。

最佳答案

标签嵌入在 recordio .rec 文件中,因此对于自定义多标签应用程序,您必须重新标记。坦率地说,文档不是很好,但这是一个起点(到底部):https://mxnet.incubator.apache.org/faq/recordio.html

至于有标签的层,最后一层是产生标签概率的层。模型架构在 Sagemaker 中被抽象化,设置类超参数确保最后一层将为 .rec 文件中找到的类数分配概率。

关于python - SageMaker 图像分类 : How to get an ordered list of classes corresponding to the output of the model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53962281/

相关文章:

python - 导出有关整数数据的列依赖性的规则?

python - 数据存储在本地主机上但不在 gae 数据存储上?

python - 在 plotly 3D 轴和刻度标签中使用 LaTeX

cuda - OSError : libcudart. so.9.2:无法打开共享对象文件:没有这样的文件或目录

python - 实现一个带约束的 python 列表

python - Tensorflow 中的预定采样

python - 测试期间 LSTM 出错

python - 为什么在使用 Deep Q 学习时会弹出此错误?

python - 如何修复:- libmxnet.所以:无法打开共享对象文件:没有这样的文件或目录

python - MXNet 打印中间符号值