red_wine_white 2023-03-04 09:58 采纳率: 33.3%
浏览 17
已结题

请教,如何将retinanet和HEM(难例挖掘)结合

我的思路是:难例挖掘是要将loss降序排序,然后挑选出前20%loss和对应的图片。再将图片加入数据集进行训练。

但是我不知道到如何将挑选出的20%loss对应的图片挑出来。

想问问有什么函数可以做到。

感谢各位的帮助,谢谢

  • 写回答

2条回答 默认 最新

  • 关注

    回答引自chatgpt

    # 1. 在训练过程中记录每个样本的loss值和对应的图片路径
    losses = []
    image_paths = []
    def train_step(inputs, targets):
        # 计算损失并记录loss值和图片路径
        loss = model.train_on_batch(inputs, targets)
        losses.append(loss)
        image_paths.append(image_path)
        return loss
    # 2. 根据loss值对样本进行排序,选取前20%的样本
    sorted_losses = sorted(losses)
    top20_index = int(len(losses) * 0.2)
    top20_losses = sorted_losses[:top20_index]
    # 获取对应的图片路径
    top20_image_paths = [image_paths[i] for i, loss in enumerate(losses) if loss in top20_losses]
    # 3. 将选中的图片路径存储到一个列表中
    new_image_paths = []
    new_image_paths.extend(top20_image_paths)
    new_image_paths.extend(old_image_paths) # 将原来的图片路径也添加到列表中
    # 4. 在下一阶段的训练中使用新的图片路径来读取对应的图片,并将它们添加到训练数据集中
    train_generator = DataGenerator(new_image_paths, batch_size=32)
    model.fit(train_generator, epochs=10)
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月12日
  • 已采纳回答 3月4日
  • 创建了问题 3月4日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分