当前位置:首页 > 文章列表 > 文章 > python教程 > PyTorch 中的 CocoCaptions (2)

PyTorch 中的 CocoCaptions (2)

来源:dev.to 2025-01-11 15:48:24 0浏览 收藏

怎么入门文章编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《PyTorch 中的 CocoCaptions (2)》,涉及到,有需要的可以收藏一下

请我喝杯咖啡☕

*备忘录:

  • 我的帖子解释了cococaptions()使用带有captions_train2014.json、instances_train2014.json和person_keypoints_train2014.json的train2014、带有captions_val2014.json、instances_val2014.json和person_keypoints_val2014.json的val2014以及带有image_info_test2014.json的test2017, image_info_test2015.json 和 image_info_test-dev2015.json。
  • 我的帖子解释了cocodetection()使用带有captions_train2014.json、instances_train2014.json和person_keypoints_train2014.json的train2014、带有captions_val2014.json、instances_val2014.json和person_keypoints_val2014.json的val2014以及带有image_info_test2014.json的test2017, image_info_test2015.json 和 image_info_test-dev2015.json。
  • 我的帖子解释了cocodetection()使用train2017与captions_train2017.json,instances_train2017.json和person_keypoints_train2017.json,val2017与captions_val2017.json,instances_val2017.json和person_keypoints_val2017.json和test2017与image_info_test2017.json和image_info_test-dev2017.json.
  • 我的帖子解释了cocodetection()使用train2017与stuff_train2017.json,val2017与stuff_val2017.json,stuff_train2017_pixelmaps与stuff_train2017.json,stuff_val2017_pixelmaps与stuff_val2017.json,panoptic_train2017与panoptic_train2017.json,panoptic_val2017与panoptic_val2017.json 和 unlabeled2017 以及 image_info_unlabeled2017.json。
  • 我的帖子解释了 ms coco。

cococaptions() 可以使用 ms coco 数据集,如下所示。 *这适用于带有captions_train2017.json、instances_train2017.json和person_keypoints_train2017.json的train2017,带有captions_val2017.json、instances_val2017.json和person_keypoints_val2017.json的val2017以及带有image_info_test2017.json和的test2017 image_info_test-dev2017.json:

from torchvision.datasets import CocoCaptions

cap_train2017_data = CocoCaptions(
    root="data/coco/imgs/train2017",
    annFile="data/coco/anns/trainval2017/captions_train2017.json"
)

ins_train2017_data = CocoCaptions(
    root="data/coco/imgs/train2017",
    annFile="data/coco/anns/trainval2017/instances_train2017.json"
)

pk_train2017_data = CocoCaptions(
    root="data/coco/imgs/train2017",
    annFile="data/coco/anns/trainval2017/person_keypoints_train2017.json"
)

len(cap_train2017_data), len(ins_train2017_data), len(pk_train2017_data)
# (118287, 118287, 118287)

cap_val2017_data = CocoCaptions(
    root="data/coco/imgs/val2017",
    annFile="data/coco/anns/trainval2017/captions_val2017.json"
)

ins_val2017_data = CocoCaptions(
    root="data/coco/imgs/val2017",
    annFile="data/coco/anns/trainval2017/instances_val2017.json"
)

pk_val2017_data = CocoCaptions(
    root="data/coco/imgs/val2017",
    annFile="data/coco/anns/trainval2017/person_keypoints_val2017.json"
)

len(cap_val2017_data), len(ins_val2017_data), len(pk_val2017_data)
# (5000, 5000, 5000)

test2017_data = CocoCaptions(
    root="data/coco/imgs/test2017",
    annFile="data/coco/anns/test2017/image_info_test2017.json"
)

testdev2017_data = CocoCaptions(
    root="data/coco/imgs/test2017",
    annFile="data/coco/anns/test2017/image_info_test-dev2017.json"
)

len(test2017_data), len(testdev2017_data)
# (40670, 20288)

cap_train2017_data[2]
# (,
#  ['A flower vase is sitting on a porch stand.',
#   'White vase with different colored flowers sitting inside of it. ',
#   'a white vase with many flowers on a stage',
#   'A white vase filled with different colored flowers.',
#   'A vase with red and white flowers outside on a sunny day.'])

cap_train2017_data[47]
# (,
#  ['A man standing in front of a microwave next to pots and pans.',
#   'A man displaying pots and utensils on a wall.',
#   'A man stands in a kitchen and motions towards pots and pans. ',
#   'a man poses in front of some pots and pans ',
#   'A man pointing to pots hanging from a pegboard on a gray wall.'])

cap_train2017_data[64]
# (,
#  ['A little girl holding wet broccoli in her hand. ',
#   'The young child is happily holding a fresh vegetable. ',
#   'A little girl holds a hand full of wet broccoli. ',
#   'A little girl holds a piece of broccoli towards the camera.',
#   'a small kid holds on to some vegetables '])

ins_train2017_data[2] # Error

ins_train2017_data[47] # Error

ins_train2017_data[67] # Error

pk_train2017_data[2]
# (, [])

pk_train2017_data[47] # Error

pk_train2017_data[64] # Error

cap_val2017_data[2]
# (,
#  ['Bedroom scene with a bookcase, blue comforter and window.',
#   'A bedroom with a bookshelf full of books.',
#   'This room has a bed with blue sheets and a large bookcase',
#   'A bed and a mirror in a small room.',
#   'a bed room with a neatly made bed a window and a book shelf'])

cap_val2017_data[47]
# (,
#  ['A group of people cutting a ribbon on a street.',
#   'A man uses a pair of big scissors to cut a pink ribbon.',
#   'A man cutting a ribbon at a ceremony ',
#   'A group of people on the sidewalk watching two young children.',
#   'A group of people holding a large pair of scissors to a ribbon.'])

cap_val2017_data[64]
# (,
#  ['A man and a women posing next to one another in front of a table.',
#   'A man and woman hugging in a restaurant',
#   'A man and woman standing next to a table.',
#   'A happy man and woman pose for a picture.',
#   'A man and woman posing for a picture in a sports bar.'])

ins_val2017_data[2] # Error

ins_val2017_data[47] # Error

ins_val2017_data[64] # Error

pk_val2017_data[2]
# (, [])

pk_val2017_data[47] # Error

pk_val2017_data[64] # Error

test2017_data[2]
# (, [])

test2017_data[47]
# (, [])

test2017_data[64]
# (, [])

testdev2017_data[2]
# (, [])

testdev2017_data[47]
# (, [])

testdev2017_data[64]
# (, [])

import matplotlib.pyplot as plt

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)
    x_crd = 0.02
    for i, axis in zip(ims, axes.ravel()):
        if data[i][1]:
            im, anns = data[i]
            axis.imshow(X=im)
            y_crd = 0.0
            for j, ann in enumerate(iterable=anns):
                text_list = ann.split()
                if len(text_list) > 9:
                    text = " ".join(text_list[0:10]) + " ..."
                else:
                    text = " ".join(text_list)
                plt.figtext(x=x_crd, y=y_crd, fontsize=10,
                            s=f'{j}:\n{text}')
                y_crd -= 0.06
            x_crd += 0.325
            if i == 2 and file == "val2017":
                x_crd += 0.06
        elif not data[i][1]:
            im, _ = data[i]
            axis.imshow(X=im)
    fig.tight_layout()
    plt.show()

ims = (2, 47, 64)

show_images(data=cap_train2017_data, ims=ims,
             main_title="cap_train2017_data")
show_images(data=cap_val2017_data, ims=ims, 
             main_title="cap_val2017_data")
show_images(data=test2017_data, ims=ims,
            main_title="test2017_data")
show_images(data=testdev2017_data, ims=ims, 
            main_title="testdev2017_data")

image description

image description

image description

image description

今天关于《PyTorch 中的 CocoCaptions (2)》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

版本声明
本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
Win11如何加密文件夹-Win11加密文件夹的方法Win11如何加密文件夹-Win11加密文件夹的方法
上一篇
Win11如何加密文件夹-Win11加密文件夹的方法
通过技术 SEO 最佳实践增强 SaaS 产品开发
下一篇
通过技术 SEO 最佳实践增强 SaaS 产品开发
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    508次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    497次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • SEO标题协启动:AI驱动的智能对话与内容生成平台 - 提升创作效率
    协启动
    SEO摘要协启动(XieQiDong Chatbot)是由深圳协启动传媒有限公司运营的AI智能服务平台,提供多模型支持的对话服务、文档处理和图像生成工具,旨在提升用户内容创作与信息处理效率。平台支持订阅制付费,适合个人及企业用户,满足日常聊天、文案生成、学习辅助等需求。
    2次使用
  • Brev AI:零注册门槛的全功能免费AI音乐创作平台
    Brev AI
    探索Brev AI,一个无需注册即可免费使用的AI音乐创作平台,提供多功能工具如音乐生成、去人声、歌词创作等,适用于内容创作、商业配乐和个人创作,满足您的音乐需求。
    2次使用
  • AI音乐实验室:一站式AI音乐创作平台,助力音乐创作
    AI音乐实验室
    AI音乐实验室(https://www.aimusiclab.cn/)是一款专注于AI音乐创作的平台,提供从作曲到分轨的全流程工具,降低音乐创作门槛。免费与付费结合,适用于音乐爱好者、独立音乐人及内容创作者,助力提升创作效率。
    2次使用
  • SEO标题PixPro:AI驱动网页端图像处理平台,提升效率的终极解决方案
    PixPro
    SEO摘要PixPro是一款专注于网页端AI图像处理的平台,提供高效、多功能的图像处理解决方案。通过AI擦除、扩图、抠图、裁切和压缩等功能,PixPro帮助开发者和企业实现“上传即处理”的智能化升级,适用于电商、社交媒体等高频图像处理场景。了解更多PixPro的核心功能和应用案例,提升您的图像处理效率。
    2次使用
  • EasyMusic.ai:零门槛AI音乐生成平台,专业级输出助力全场景创作
    EasyMusic
    EasyMusic.ai是一款面向全场景音乐创作需求的AI音乐生成平台,提供“零门槛创作 专业级输出”的服务。无论你是内容创作者、音乐人、游戏开发者还是教育工作者,都能通过EasyMusic.ai快速生成高品质音乐,满足短视频、游戏、广告、教育等多元需求。平台支持一键生成与深度定制,积累了超10万创作者,生成超100万首音乐作品,用户满意度达99%。
    3次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码