首页 > 后端开发 > Python教程 > PyTorch 中的 CocoCaptions (3)

PyTorch 中的 CocoCaptions (3)

Mary-Kate Olsen
发布: 2025-01-09 10:14:42
原创
339 人浏览过

这篇文章演示了如何使用 CocoCaptions 库中的 torchvision.datasets 类和各种 MS COCO 数据集。 这些示例说明了加载和显示 unlabeled2017 子集中的图像。 但是,尝试访问 stuff_train2017stuff_val2017stuff_train2017_pixelmapsstuff_val2017_pixelmaps 中的数据会导致错误,表明与 CocoCaptions 不兼容。 下面提供了代码片段及其输出。

代码和输出:

代码尝试使用 CocoCaptions 加载和利用 MS COCO 数据集的不同子集。 unlabeled2017 子集成功加载并允许图像显示。 其他子集(包含“stuff”和“panoptic”数据)会导致错误,突出显示使用 CocoCaptions 与这些特定数据结构的局限性。

<code class="language-python">from torchvision.datasets import CocoCaptions
import matplotlib.pyplot as plt

# ... (CocoCaptions instantiation code as provided in the input) ...

# ... (len() calls and error handling code as provided in the input) ...

unlabeled2017_data[2]  # Displays image and empty caption list
unlabeled2017_data[47] # Displays image and empty caption list
unlabeled2017_data[64] # Displays image and empty caption list

def show_images(data, ims, main_title=None):
    file = data.root.split('/')[-1]
    fig, axes = plt.subplots(nrows=1, ncols=3, figsize=(14, 8))
    fig.suptitle(t=main_title, y=0.9, fontsize=14)
    for i, axis in zip(ims, axes.ravel()):
        if not data[i][1]:
            im, _ = data[i]
            axis.imshow(X=im)
    fig.tight_layout()
    plt.show()

ims = (2, 47, 64)
show_images(data=unlabeled2017_data, ims=ims, main_title="unlabeled2017_data")</code>
登录后复制

show_images 函数显示 unlabeled2017_data 子集中的三张图像。

CocoCaptions in PyTorch (3)

结论:

此实验表明,虽然 CocoCaptions 适用于某些 MS COCO 数据子集(如 unlabeled2017),但它并不直接与所有注释兼容。 遇到的错误表明“stuff”和“panoptic”注释需要不同的方法或不同的数据集类才能正确加载和使用。 要成功访问数据,需要进一步研究这些注释的结构和可用的 torchvision 数据集类。

以上是PyTorch 中的 CocoCaptions (3)的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板