PyTorch 中的 CocoDetection(2)

请我喝杯咖啡☕

*我的帖子解释了 ms coco。

cocodetection() 可以使用 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 CocoDetectioncap_train2017_data = CocoDetection(    root="data/coco/imgs/train2017",    annFile="data/coco/anns/trainval2017/captions_train2017.json")ins_train2017_data = CocoDetection(    root="data/coco/imgs/train2017",    annFile="data/coco/anns/trainval2017/instances_train2017.json")pk_train2017_data = CocoDetection(    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 = CocoDetection(    root="data/coco/imgs/val2017",    annFile="data/coco/anns/trainval2017/captions_val2017.json")ins_val2017_data = CocoDetection(    root="data/coco/imgs/val2017",    annFile="data/coco/anns/trainval2017/instances_val2017.json")pk_val2017_data = CocoDetection(    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 = CocoDetection(    root="data/coco/imgs/test2017",    annFile="data/coco/anns/test2017/image_info_test2017.json")testdev2017_data = CocoDetection(    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]# (,#  [{'image_id': 30, 'id': 695774,#    'caption': 'A flower vase is sitting on a porch stand.'},#   {'image_id': 30, 'id': 696557,#    'caption': 'White vase with different colored flowers sitting inside of it. '},#   {'image_id': 30, 'id': 699041,#    'caption': 'a white vase with many flowers on a stage'},#   {'image_id': 30, 'id': 701216,#    'caption': 'A white vase filled with different colored flowers.'},#   {'image_id': 30, 'id': 702428,#    'caption': 'A vase with red and white flowers outside on a sunny day.'}])cap_train2017_data[47]# (,#  [{'image_id': 294, 'id': 549895,#    'caption': 'A man standing in front of a microwave next to pots and pans.'},#   {'image_id': 294, 'id': 556411,#    'caption': 'A man displaying pots and utensils on a wall.'},#   {'image_id': 294, 'id': 556507,#    'caption': 'A man stands in a kitchen and motions towards pots and pans. '},#   {'image_id': 294, 'id': 556993,#    'caption': 'a man poses in front of some pots and pans '},#   {'image_id': 294, 'id': 560728,#    'caption': 'A man pointing to pots hanging from a pegboard on a gray wall.'}])cap_train2017_data[64]# (,#  [{'image_id': 370, 'id': 468271,#    'caption': 'A little girl holding wet broccoli in her hand. '},#   {'image_id': 370, 'id': 471646,#    'caption': 'The young child is happily holding a fresh vegetable. '},#   {'image_id': 370, 'id': 475471,#    'caption': 'A little girl holds a hand full of wet broccoli. '},#   {'image_id': 370, 'id': 475663,#    'caption': 'A little girl holds a piece of broccoli towards the camera.'},#   {'image_id': 370, 'id': 822588,#    'caption': 'a small kid holds on to some vegetables '}])ins_train2017_data[2]# (,#  [{'segmentation': [[267.38, 330.14, 281.81, ..., 269.3, 329.18]],#    'area': 47675.66289999999, 'iscrowd': 0, 'image_id': 30,#    'bbox': [204.86, 31.02, 254.88, 324.12], 'category_id': 64,#    'id': 291613},#   {'segmentation': ..., 'category_id': 86, 'id': 1155486}])ins_train2017_data[47]# (,#  [{'segmentation': [[27.7, 423.27, 27.7, ..., 28.66, 427.0]],#    'area': 64624.86664999999, 'iscrowd': 0, 'image_id': 294,#    'bbox': [27.7, 69.83, 364.91, 357.17], 'category_id': 1,#    'id': 470246},#   {'segmentation': ..., 'category_id': 50, 'id': 708187},#   ...#   {'segmentation': ..., 'category_id': 50, 'id': 2217190}])ins_train2017_data[67]# (,#  [{'segmentation': [[90.81, 155.68, 90.81, ..., 98.02, 207.57]],#    'area': 137679.34520000007, 'iscrowd': 0, 'image_id': 370,#    'bbox': [90.81, 24.5, 389.19, 615.5], 'category_id': 1,#    'id': 436109},#   {'segmentation': [[257.51, 446.79, 242.45, ..., 262.02, 460.34]],#    'area': 43818.18095, 'iscrowd': 0, 'image_id': 370,#    'bbox': [242.45, 257.05, 237.55, 243.95], 'category_id': 56,#    'id': 1060727}])pk_train2017_data[2]# (, [])pk_train2017_data[47]# (,#  [{'segmentation': [[27.7, 423.27, 27.7, ..., 28.66, 427]],#    'num_keypoints': 11, 'area': 64624.86665, 'iscrowd': 0,#    'keypoints': [149, 133, 2, 159, ..., 0, 0], 'image_id': 294,#    'bbox': [27.7, 69.83, 364.91, 357.17], 'category_id': 1,#    'id': 470246}])pk_train2017_data[64]# (,#  [{'segmentation': [[90.81, 155.68, 90.81, ..., 98.02, 207.57]],#    'num_keypoints': 12, 'area': 137679.3452, 'iscrowd': 0,#    'keypoints': [229, 171, 2, 263, ..., 0, 0], 'image_id': 370,#    'bbox': [90.81, 24.5, 389.19, 615.5], 'category_id': 1,#    'id': 436109}])cap_val2017_data[2]# (,#  [{'image_id': 632, 'id': 301804,#    'caption': 'Bedroom scene with a bookcase, blue comforter and window.'},#   {'image_id': 632, 'id': 302791,#    'caption': 'A bedroom with a bookshelf full of books.'},#   {'image_id': 632, 'id': 305425,#    'caption': 'This room has a bed with blue sheets and a large bookcase'},#   {'image_id': 632, 'id': 305953,#    'caption': 'A bed and a mirror in a small room.'},#   {'image_id': 632, 'id': 306511,#    'caption': 'a bed room with a neatly made bed a window and a book shelf'}])cap_val2017_data[47]# (,#  [{'image_id': 5001, 'id': 542124,#    'caption': 'A group of people cutting a ribbon on a street.'},#   {'image_id': 5001, 'id': 545685,#    'caption': 'A man uses a pair of big scissors to cut a pink ribbon.'},#   {'image_id': 5001, 'id': 549285,#    'caption': 'A man cutting a ribbon at a ceremony '},#   {'image_id': 5001, 'id': 549666,#    'caption': 'A group of people on the sidewalk watching two young children.'},#   {'image_id': 5001, 'id': 549696,#    'caption': 'A group of people holding a large pair of scissors to a ribbon.'}])cap_val2017_data[64]# (,#  [{'image_id': 6763, 'id': 708378,#    'caption': 'A man and a women posing next to one another in front of a table.'},#   {'image_id': 6763, 'id': 709983,#    'caption': 'A man and woman hugging in a restaurant'},#   {'image_id': 6763, 'id': 711438,#    'caption': 'A man and woman standing next to a table.'},#   {'image_id': 6763, 'id': 711723,#    'caption': 'A happy man and woman pose for a picture.'},#   {'image_id': 6763, 'id': 714720,#    'caption': 'A man and woman posing for a picture in a sports bar.'}])ins_val2017_data[2]# (,#  [{'segmentation': [[5.45, 269.03, 25.08, ..., 3.27, 266.85]],#    'area': 64019.87940000001, 'iscrowd': 0, 'image_id': 632,#    'bbox': [3.27, 266.85, 401.23, 208.25], 'category_id': 65,#    'id': 315724},#   {'segmentation': ..., 'category_id': 64, 'id': 1610466},#   ...#   {'segmentation': {'counts': [201255, 6, 328, 6, 142, ..., 4, 34074],#    'size': [483, 640]}, 'area': 20933, 'iscrowd': 1, 'image_id': 632,#    'bbox': [416, 43, 153, 303], 'category_id': 84,#    'id': 908400000632}])ins_val2017_data[47]# (,#  [{'segmentation': [[210.34, 204.76, 227.6, ..., 195.24, 211.24]],#    'area': 5645.972500000001, 'iscrowd': 0, 'image_id': 5001,#    'bbox': [173.66, 204.76, 107.87, 238.39], 'category_id': 87,#    'id': 1158531},#   {'segmentation': ..., 'category_id': 1, 'id': 1201627},#   ...#   {'segmentation': {'counts': [251128, 24, 451, 32, 446, ..., 43, 353],#    'size': [480, 640]}, 'area': 10841, 'iscrowd': 1, 'image_id': 5001,#    'bbox': [523, 26, 116, 288], 'category_id': 1, 'id': 900100005001}])ins_val2017_data[64]# (, #  [{'segmentation': [[232.06, 92.6, 369.96, ..., 223.09, 93.72]],#    'area': 11265.648799999995, 'iscrowd': 0, 'image_id': 6763#    'bbox': [219.73, 64.57, 151.35, 126.69], 'category_id': 72,#    'id': 30601},#   {'segmentation': ..., 'category_id': 1, 'id': 197649},#   ...#   {'segmentation': ..., 'category_id': 1, 'id': 1228674}])pk_val2017_data[2]# (, [])pk_val2017_data[47]# (,#  [{'segmentation': [[42.07, 190.11, 45.3, ..., 48.54, 201.98]],#    'num_keypoints': 8, 'area': 5156.63, 'iscrowd': 0,#    'keypoints': [58, 56, 2, 61, ..., 0, 0], 'image_id': 5001,#    'bbox': [10.79, 32.63, 58.24, 169.35], 'category_id': 1,#    'id': 1201627}, #   {'segmentation': ..., 'category_id': 1, 'id': 1220394},#   ...#   {'segmentation': {'counts': [251128, 24, 451, 32, 446, ..., 43, 353], #    'size': [480, 640]}, 'num_keypoints': 0, 'area': 10841,#    'iscrowd': 1, 'keypoints': [0, 0, 0, 0, ..., 0, 0],#    'image_id': 5001, 'bbox': [523, 26, 116, 288],#    'category_id': 1, 'id': 900100005001}])pk_val2017_data[64]# (,#  [{'segmentation': [[94.38, 462.92, 141.57, ..., 100.27, 459.94]],#    'num_keypoints': 10, 'area': 36153.48825, 'iscrowd': 0,#    'keypoints': [228, 202, 2, 252, ..., 0, 0], 'image_id': 6763,#    'bbox': [79.48, 131.87, 254.23, 331.05], 'category_id': 1,#    'id': 197649},#   {'segmentation': ..., 'category_id': 1, 'id': 212640},#   ...#   {'segmentation': ..., 'category_id': 1, 'id': 1228674}])test2017_data[2]# (, [])test2017_data[47]# (, [])test2017_data[64]# (, [])testdev2017_data[2]# (, [])testdev2017_data[47]# (, [])testdev2017_data[64]# (, [])import matplotlib.pyplot as pltfrom matplotlib.patches import Polygon, Rectangleimport numpy as npfrom pycocotools import mask# `show_images1()` doesn't work very well for the images with# segmentations and keypoints so for them, use `show_images2()` which# more uses the original coco functions. def show_images1(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] and "caption" in data[i][1][0]:            im, anns = data[i]            axis.imshow(X=im)            axis.set_title(label=anns[0]["image_id"])            y_crd = 0.0            for ann in anns:                text_list = ann["caption"].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'{ann["id"]}:n{text}')                y_crd -= 0.06            x_crd += 0.325            if i == 2 and file == "val2017":                x_crd += 0.06        if data[i][1] and "segmentation" in data[i][1][0]:            im, anns = data[i]            axis.imshow(X=im)            axis.set_title(label=anns[0]["image_id"])            for ann in anns:                if "counts" in ann['segmentation']:                    seg = ann['segmentation']                    # rle is Run Length Encoding.                    uncompressed_rle = [seg['counts']]                    height, width = seg['size']                    compressed_rle = mask.frPyObjects(pyobj=uncompressed_rle,                                                      h=height, w=width)                    # rld is Run Length Decoding.                    compressed_rld = mask.decode(rleObjs=compressed_rle)                    y_plts, x_plts = np.nonzero(a=np.squeeze(a=compressed_rld))                    axis.plot(x_plts, y_plts, color='yellow')                else:                    for seg in ann['segmentation']:                        seg_arrs = np.split(ary=np.array(seg),                                            indices_or_sections=len(seg)/2)                        poly = Polygon(xy=seg_arrs,                                       facecolor="lightgreen", alpha=0.7)                        axis.add_patch(p=poly)                        x_plts = [seg_arr[0] for seg_arr in seg_arrs]                        y_plts = [seg_arr[1] for seg_arr in seg_arrs]                        axis.plot(x_plts, y_plts, color='yellow')                x, y, w, h = ann['bbox']                rect = Rectangle(xy=(x, y), width=w, height=h,                                 linewidth=3, edgecolor='r',                                 facecolor='none', zorder=2)                axis.add_patch(p=rect)                if data[i][1] and 'keypoints' in data[i][1][0]:                    kps = ann['keypoints']                    kps_arrs = np.split(ary=np.array(kps),                                        indices_or_sections=len(kps)/3)                    x_plts = [kps_arr[0] for kps_arr in kps_arrs]                    y_plts = [kps_arr[1] for kps_arr in kps_arrs]                    nonzeros_x_plts = []                    nonzeros_y_plts = []                    for x_plt, y_plt in zip(x_plts, y_plts):                        if x_plt == 0 and y_plt == 0:                            continue                        nonzeros_x_plts.append(x_plt)                        nonzeros_y_plts.append(y_plt)                    axis.scatter(x=nonzeros_x_plts, y=nonzeros_y_plts,                                 color='yellow')                    # ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ Bad result ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓                    # axis.plot(nonzeros_x_plts, nonzeros_y_plts)        if not data[i][1]:            im, _ = data[i]            axis.imshow(X=im)    fig.tight_layout()    plt.show()ims = (2, 47, 64)show_images1(data=cap_train2017_data, ims=ims,             main_title="cap_train2017_data")show_images1(data=ins_train2017_data, ims=ims,              main_title="ins_train2017_data")show_images1(data=pk_train2017_data, ims=ims,              main_title="pk_train2017_data")print()show_images1(data=cap_val2017_data, ims=ims,              main_title="cap_val2017_data")show_images1(data=ins_val2017_data, ims=ims,              main_title="ins_val2017_data")show_images1(data=pk_val2017_data, ims=ims,             main_title="pk_val2017_data")print()show_images(data=test2017_data, ims=ims,            main_title="test2017_data")show_images(data=testdev2017_data, ims=ims,             main_title="testdev2017_data")# `show_images2()` works very well for the images with segmentations and# keypoints.def show_images2(data, index, main_title=None):    img_set = data[index]    img, img_anns = img_set    if img_anns and "segmentation" in img_anns[0]:        img_id = img_anns[0]['image_id']        coco = data.coco        def show_image(imgIds, areaRng=[],                       iscrowd=None, draw_bbox=False):            plt.figure(figsize=(11, 8))            plt.imshow(X=img)            plt.suptitle(t=main_title, y=1, fontsize=14)            plt.title(label=img_id, fontsize=14)            anns_ids = coco.getAnnIds(imgIds=img_id,                                      areaRng=areaRng, iscrowd=iscrowd)            anns = coco.loadAnns(ids=anns_ids)            coco.showAnns(anns=anns, draw_bbox=draw_bbox)            plt.show()        show_image(imgIds=img_id, draw_bbox=True)        show_image(imgIds=img_id, draw_bbox=False)        show_image(imgIds=img_id, iscrowd=False, draw_bbox=True)        show_image(imgIds=img_id, areaRng=[0, 5000], draw_bbox=True)    elif img_anns and not "segmentation" in img_anns[0]:        plt.figure(figsize=(11, 8))        img_id = img_anns[0]['image_id']        plt.imshow(X=img)        plt.suptitle(t=main_title, y=1, fontsize=14)        plt.title(label=img_id, fontsize=14)        plt.show()    elif not img_anns:        plt.figure(figsize=(11, 8))        plt.imshow(X=img)        plt.suptitle(t=main_title, y=1, fontsize=14)        plt.show()show_images2(data=ins_val2017_data, index=2,              main_title="ins_val2017_data")print()show_images2(data=pk_val2017_data, index=2,             main_title="pk_val2017_data")print()show_images2(data=ins_val2017_data, index=47,             main_title="ins_val2017_data")print()show_images2(data=pk_val2017_data, index=47,              main_title="pk_val2017_data")

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

以上就是PyTorch 中的 CocoDetection(2)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1355447.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
PyTorch 中的 CocoDetection (1)
上一篇 2025年12月13日 19:14:06
上传文件到 OpenAI:传递接力棒
下一篇 2025年12月13日 19:14:20

相关推荐

  • Java中List of Lists按指定列排序与查找教程

    Java中List of Lists按指定列排序与查找教程Java中List of Lists按指定列排序与查找教程Java中List of Lists按指定列排序与查找教程Java中List of Lists按指定列排序与查找教程

    本教程详细介绍了如何在Java中处理List<List>数据结构,以实现按指定“列”进行排序,并在此基础上高效查找包含特定值的“行”。文章通过自定义Comparator来对行数据进行比较和排序,并提供了识别目标列索引的策略,从而解决了在复杂嵌套列表中进行数据组织和检索的常见挑战。 1. …

    2026年9月28日 • 用户投稿
    100
  • 豆包AI安装后如何配置TPU加速 豆包AI张量处理器优化方案

    本文将详细介绍在豆包AI环境中,如何配置张量处理器(TPU)以实现加速优化。我们将从理解TPU的基本原理开始,逐步讲解安装驱动、设置环境以及验证加速效果的整个过程,旨在帮助用户高效地利用TPU提升豆包AI模型的训练和推理性能。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 D…

    2026年9月28日
    200
  • 在 Java 中对 List 的指定列进行排序和查找

    在 Java 中对 List 的指定列进行排序和查找在 Java 中对 List 的指定列进行排序和查找在 Java 中对 List 的指定列进行排序和查找在 Java 中对 List 的指定列进行排序和查找

    本文将详细介绍如何在 Java 中处理 List<List> 类型的数据,并实现以下功能:对指定列进行排序,在排序后的列表中使用二分查找(或类似方法)查找特定元素,并输出包含该元素的完整行。 问题背景 在实际开发中,我们经常会遇到需要处理二维数据的情况,例如从 CSV 文件读取的数据或者…

    2026年9月28日 • 用户投稿
    000
  • 在国内可以用的比较好的ai图片生成工具2025十大排名

    在国内可以用的比较好的ai图片生成工具2025十大排名在国内可以用的比较好的ai图片生成工具2025十大排名在国内可以用的比较好的ai图片生成工具2025十大排名在国内可以用的比较好的ai图片生成工具2025十大排名

    答案:2025年国内AI图片生成工具将更注重本地化、移动端体验、版权保护、个性化定制及行业融合,代表工具如稿定设计、盗梦师、Vega AI等,选择应基于用户需求、创作目的与预算,AI不会取代艺术家,而是辅助创作。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek…

    2026年9月28日 • 用户投稿
    1000
  • Claude企业版如何设置合规审计 Claude金融行业监管适配方案

    Claude企业版如何设置合规审计 Claude金融行业监管适配方案Claude企业版如何设置合规审计 Claude金融行业监管适配方案Claude企业版如何设置合规审计 Claude金融行业监管适配方案Claude企业版如何设置合规审计 Claude金融行业监管适配方案

    本文将为您详细介绍Claude企业版如何进行合规审计设置,并探讨其在金融行业监管适配方面的实用方案。我们将从基础的审计配置入手,逐步深入到金融行业特有的合规要求,帮助您构建一个安全、合规的Claude使用环境。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek …

    2026年9月28日 • 用户投稿
    000
  • 吴泳铭掌舵两年,阿里AI起飞

    吴泳铭掌舵两年,阿里AI起飞吴泳铭掌舵两年,阿里AI起飞吴泳铭掌舵两年,阿里AI起飞吴泳铭掌舵两年,阿里AI起飞

    9 月 24 日下午,云栖小镇 d2-9 场馆,一场以 1688 ai 为主题的论坛开场。场馆面积不小,但将近 3 小时的分享,座位早早被占满,后排空地也被人群挤得寸步难行。 热度不仅限于这一场。 不论是在硬核技术主题论坛,还是充满机器人、汽车的应用馆,四处人头攒动。 一位连续多年参会的从业者笑言:…

    2026年9月28日 • 用户投稿
    000
  • 在 Java 中对 List 的特定列进行排序并查找元素

    在 Java 中对 List 的特定列进行排序并查找元素在 Java 中对 List 的特定列进行排序并查找元素在 Java 中对 List 的特定列进行排序并查找元素在 Java 中对 List 的特定列进行排序并查找元素

    本文介绍了如何在 Java 中对 List<List> 的指定列进行排序,并查找特定元素。通过自定义 Comparator,可以实现基于指定列的排序。同时,提供了一个查找特定元素索引的方法,并演示了如何利用该索引进行排序和元素查找。 对 List<List> 的特定列进行排序…

    2026年9月28日 • 用户投稿
    000
  • 《寂静岭f》获IGN 7分!战斗繁琐缺乏乐趣

    《寂静岭f》的媒体评分现已正式公布,IGN为这款备受关注的新作给出了7分的评价。 简评: 本作构建了一个全新的日本背景舞台,讲述了一段深邃而黑暗的叙事旅程,令人沉浸其中。然而,以近战为主导的战斗机制虽有雄心,实际表现却未能精准命中目标,成为整体体验中的短板。 评分:7分 一般 总评: 《寂静岭f》带…

    2026年9月28日
    000
  • 使用云 Firestore 在服务器端处理数据以优化 Android 应用性能

    正如前文摘要所述,本文将介绍如何将 Android 应用中 Cloud Firestore 的数据处理逻辑迁移至服务器端,从而提高应用的性能和可维护性。 在 Android 应用开发中,直接在客户端执行大量的 Firestore CRUD(创建、读取、更新、删除)操作可能会导致应用运行缓慢,并且代码…

    2026年9月28日
    400
  • 宜鼎携全栈创新成果PTEXPO 2025亮相智构AI存储新生态

    宜鼎携全栈创新成果PTEXPO 2025亮相智构AI存储新生态宜鼎携全栈创新成果PTEXPO 2025亮相智构AI存储新生态宜鼎携全栈创新成果PTEXPO 2025亮相智构AI存储新生态宜鼎携全栈创新成果PTEXPO 2025亮相智构AI存储新生态

    9月24日,素有“ict行业风向标”之称的中国国际信息通信展览会(pt expo 2025)在北京国家会展中心盛大启幕。全球领先的ai解决方案与工业级存储品牌宜鼎国际(innodisk)重磅亮相,以“智构未来|architect intelligence”为主题,全面展示其在工业存储、边缘ai及5g…

    2026年9月28日 • 用户投稿
    100
  • 多模态AI如何处理分子结构 多模态AI化学式识别技术

    多模态AI如何处理分子结构 多模态AI化学式识别技术多模态AI如何处理分子结构 多模态AI化学式识别技术多模态AI如何处理分子结构 多模态AI化学式识别技术多模态AI如何处理分子结构 多模态AI化学式识别技术

    本文将探讨多模态AI如何处理分子结构,重点介绍其在化学式识别方面的技术应用。我们将从多模态AI的基本概念出发,详细阐述其在分子结构数据理解中的优势,并通过技术解析来展示其化学式识别的实际操作过程。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜…

    2026年9月28日 • 用户投稿
    000
  • 小米澎湃OS 3全球发布计划公布 首批10月开始推送

    小米澎湃OS 3全球发布计划公布 首批10月开始推送小米澎湃OS 3全球发布计划公布 首批10月开始推送小米澎湃OS 3全球发布计划公布 首批10月开始推送小米澎湃OS 3全球发布计划公布 首批10月开始推送

    9月25日,%ignore_a_1%公布了澎湃os 3系统的全球推送安排,宣布该系统将从10月起分阶段向多款设备陆续推送。首批获得更新的机型为近期发布的小米15t系列。 整个推送计划分为三个阶段推进。第一阶段于10月至11月启动,涵盖小米15T/Pro、小米15 Ultra、MIX Flip、RED…

    2026年9月28日 • 用户投稿
    000
  • MySQL如何使用外键约束删除 级联删除与SET NULL策略

    MySQL如何使用外键约束删除 级联删除与SET NULL策略MySQL如何使用外键约束删除 级联删除与SET NULL策略MySQL如何使用外键约束删除 级联删除与SET NULL策略MySQL如何使用外键约束删除 级联删除与SET NULL策略

    外键约束在mysql中用于维护数据完整性,级联删除和set null是两种处理删除操作的策略。1. 创建父表并定义主键;2. 创建子表时通过foreign key指定外键,并使用on delete cascade或on delete set null设定删除策略;3. 插入测试数据验证约束效果;4.…

    2026年9月28日 • 用户投稿
    000
  • 使用存储过程生成ID时出现重复值的解决方案

    使用存储过程生成ID时出现重复值的解决方案使用存储过程生成ID时出现重复值的解决方案使用存储过程生成ID时出现重复值的解决方案使用存储过程生成ID时出现重复值的解决方案

    在高并发环境中,使用存储过程生成ID时出现重复值是一个常见的问题。虽然在Java应用程序中使用了Spring的TransactionTemplate,并设置了SERIALIZABLE隔离级别,但仍然可能出现ID冲突。问题的根源可能在于事务管理不当,以及数据库表的锁定机制。 事务管理 首先,需要确认U…

    2026年9月28日 • 用户投稿
    100
  • 别人堵车我chill?国庆宅家的正确姿势竟是躺平式充电……

    别人堵车我chill?国庆宅家的正确姿势竟是躺平式充电……别人堵车我chill?国庆宅家的正确姿势竟是躺平式充电……别人堵车我chill?国庆宅家的正确姿势竟是躺平式充电……别人堵车我chill?国庆宅家的正确姿势竟是躺平式充电……

    中秋遇上国庆,假期模式即将开启。与其在高速上寸步难行、在景区里人挤人,不如安心宅在家,享受一段自在又充实的时光。我已经用华为阅读精心挑选了一份实用又合口味的书单,还在华为视频收藏了一堆经典影视佳作,让这个长假既能彻底放松,又能悄悄提升自我,实现“躺平也能进步”的理想状态。 开通华为阅读会员后,仿佛打…

    2026年9月28日 • 用户投稿
    100
  • 提高效率的幕布快捷键大全

    提高效率的幕布快捷键大全提高效率的幕布快捷键大全提高效率的幕布快捷键大全提高效率的幕布快捷键大全

    掌握幕布快捷键可显著提升笔记效率,本文介绍Mac环境下基础文本格式(如Command+B加粗)、调整层级(Tab缩进)、移动管理主题(Command+D复制)、专注模式切换及内容编辑(Shift+Enter添加描述)等核心操作。 如果您正在使用幕布进行笔记整理或大纲规划,却发现频繁操作鼠标拖慢了您的…

    2026年9月28日 • 用户投稿
    100
  • Java控制台图案生成:基于用户输入的字符交替模式实现

    Java控制台图案生成:基于用户输入的字符交替模式实现Java控制台图案生成:基于用户输入的字符交替模式实现Java控制台图案生成:基于用户输入的字符交替模式实现Java控制台图案生成:基于用户输入的字符交替模式实现

    本文将详细介绍如何在Java中实现一个动态字符图案生成程序。该程序根据用户输入的整数值,逐行打印字符。每行字符的数量与行号相同,同时字符会根据行号的奇偶性在“+”和“-”之间交替。我们将通过嵌套循环和条件判断来构建这一逻辑,并提供完整的Java代码示例,帮助读者掌握此类图案生成技巧。 动态字符图案生…

    2026年9月28日 • 用户投稿
    000
  • AI Overviews如何设置数据脱敏 AI Overviews隐私保护处理流程

    AI Overviews如何设置数据脱敏 AI Overviews隐私保护处理流程AI Overviews如何设置数据脱敏 AI Overviews隐私保护处理流程AI Overviews如何设置数据脱敏 AI Overviews隐私保护处理流程AI Overviews如何设置数据脱敏 AI Overviews隐私保护处理流程

    本篇文章将详细介绍AI Overviews中数据脱敏的设置方法和隐私保护处理流程,帮助您理解并实现有效的隐私保护措施。我们将从数据脱敏的基本概念入手,逐步讲解实现数据脱敏的具体操作步骤,并阐述相关的隐私保护处理流程,确保您的AI Overviews在使用过程中符合隐私规范。 ☞☞☞AI 智能聊天, …

    2026年9月28日 • 用户投稿
    100
  • 如何使用 SSHGUARD 阻止 SSH 暴力攻击

    如何使用 SSHGUARD 阻止 SSH 暴力攻击如何使用 SSHGUARD 阻止 SSH 暴力攻击如何使用 SSHGUARD 阻止 SSH 暴力攻击如何使用 SSHGUARD 阻止 SSH 暴力攻击

    ◆ 概述 sshguard是一个入侵防御实用程序,它可以解析日志并使用系统防火墙自动阻止行为不端的 ip 地址(或其子网)。最初旨在为 openssh 服务提供额外的保护层,sshguard 还保护范围广泛的服务,例如 vsftpd 和 postfix。它可以识别多种日志格式,包括 syslog、s…

    2026年9月28日 • 用户投稿
    100
  • 开放协作,共筑新章:openFuyao代码仓全面开源,多样化算力集群软件开源生态开启新篇

    开放协作,共筑新章:openFuyao代码仓全面开源,多样化算力集群软件开源生态开启新篇开放协作,共筑新章:openFuyao代码仓全面开源,多样化算力集群软件开源生态开启新篇开放协作,共筑新章:openFuyao代码仓全面开源,多样化算力集群软件开源生态开启新篇开放协作,共筑新章:openFuyao代码仓全面开源,多样化算力集群软件开源生态开启新篇

    [中国,上海,2025年9月18-20日]以“跃升行业智能化”为主题的“华为全联接大会2025”在上海隆重召开。大会上,openfuyao社区正式宣布其代码仓库全面开源,华为常务董事汪涛、华为鲲鹏计算业务总裁李义以及鲲鹏计算产品部部长刘林超分别在主题演讲中深入分享了社区在开源生态建设、技术演进成果及…

    2026年9月28日 • 用户投稿
    200

发表回复

登录后才能评论
关注微信