当前位置: 首页 > news >正文

FaceNet-pytorch(fixing data imbalance-CASIA)

# ------------------------------------------------#
#   进行训练前需要利用这个文件生成cls_train.txt
# ------------------------------------------------#
import os
import random


def txt_annotation(datasets_path, select_num):
    '''
    :param datasets_path: 数据集根目录
    :param select_num: 每一个folder选择的文件数目
    :return: cls_train.txt
    '''

    types_name = os.listdir (datasets_path)

    types_name = sorted (types_name)

    # print (types_name)
    list_file = open ('cls_train.txt', 'w')
    for cls_id, type_name in enumerate (types_name):
        photos_path = os.path.join (datasets_path, type_name)
        if not os.path.isdir (photos_path) or select_num > len (os.listdir (photos_path)):
            print (
                'pass folder {} with {} numbers , required {} '.format (type_name, len (os.listdir (photos_path)),
                                                                        select_num))
            continue

        photos_name = os.listdir (photos_path)
        photos_name = random.sample (photos_name, select_num)
        # print(photos_name)

        for photo_name in photos_name:
            # print (cls_id)
            list_file.write (
                str (cls_id) + ";" + '%s' % (os.path.join (os.path.abspath (datasets_path), type_name, photo_name)))
            list_file.write ('\n')
    list_file.close ()


if __name__ == "__main__":
    dataset_path = r'test_dataset'
    select_num = 32

    txt_annotation (dataset_path, select_num)

效果如下:
在这里插入图片描述
在这里插入图片描述

相关文章:

  • 【内核的设计与实现笔记】| 【01】初步了解内核
  • 【HDLBits 刷题】所有答案直达链接汇总
  • portswigger 目录遍历文件上传
  • 【微信小程序入门到精通】— swiper 超详细的属性值讲解!确定不来看看?
  • [单片机框架][device层] fuelgauge 电量计
  • 基于linux的web服务器(问题)
  • 【leetcode top100】两数相加。无重复字符的最长子串,盛水最多的容器,三数之和
  • PIE-Engine 教程:水稻面积提取1(宿迁市)
  • CMSC5707-高级人工智能之语音识别
  • AES(对称加密)学习记录
  • 【技术推荐】WebLogic 反序列化漏洞深入分析
  • 提高 IDC 网络带宽利用率
  • JavaWeb综合案例(黑马程序员2021年JavaWeb课程总结,所有功能均实现,包含数据库sql文件)
  • 卫星通信系统按照工作轨道分类
  • JDBC在idea上的配置
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • 2017-08-04 前端日报
  • 2019.2.20 c++ 知识梳理
  • C# 免费离线人脸识别 2.0 Demo
  • C语言笔记(第一章:C语言编程)
  • eclipse(luna)创建web工程
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • Fastjson的基本使用方法大全
  • Idea+maven+scala构建包并在spark on yarn 运行
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • JavaScript设计模式之工厂模式
  • js学习笔记
  • Object.assign方法不能实现深复制
  • Python - 闭包Closure
  • Web标准制定过程
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 排序(1):冒泡排序
  • 我是如何设计 Upload 上传组件的
  • 新手搭建网站的主要流程
  • FaaS 的简单实践
  • 阿里云重庆大学大数据训练营落地分享
  • ​人工智能书单(数学基础篇)
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • !!java web学习笔记(一到五)
  • #pragma once
  • (1)(1.9) MSP (version 4.2)
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (二)PySpark3:SparkSQL编程
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .net 流——流的类型体系简单介绍
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .Net接口调试与案例
  • ??myeclipse+tomcat