技术标签: python
2018.10.20
trainval_num与train_num为比例。
set(a).difference(set(b)) 求差集
random.shuffle()打乱数据,有返回。
math.floor向下取整。
random.sample(a,b):在a中随机采样b个元素。
os.listdir()生成文件夹下文件名称列表。
"""
https://blog.csdn.net/gusui7202/article/details/83239142
qhy。
"""
# -*- coding: utf -*-
import os
import random
import math
fo1=open('H:/qhy_database/Dataset_009/VOC2007/ImageSets/Main/test.txt','w')
fo2=open('H:/qhy_database/Dataset_009/VOC2007/ImageSets/Main/trainval.txt','w')
fo3=open('H:/qhy_database/Dataset_009/VOC2007/ImageSets/Main/train.txt','w')
fo4=open('H:/qhy_database/Dataset_009/VOC2007/ImageSets/Main/val.txt','w')
filepath='H:/qhy_database/Dataset_009/VOC2007/Annotations'
filelist=os.listdir(filepath)
file_name=[]
for w in filelist:
file_name.append(w.replace('.xml',''))
file_num=len(file_name)
trainval_num=0.8
train_num=0.8
#trainval
trainval_list=random.sample(range(file_num),math.floor(trainval_num*file_num))
#test
test_list=(list(set(range(file_num)).difference(set(trainval_list))))
random.shuffle(test_list)
#train
train_list=random.sample(trainval_list,math.floor(train_num*len(trainval_list)))
#val
val_list=list(set(trainval_list).difference(set(train_list)))
random.shuffle(val_list)
#put in txt
for i in trainval_list:
fo2.write(file_name[i]+'\n')
for i in test_list:
fo1.write(file_name[i]+'\n')
for i in train_list:
fo3.write(file_name[i]+'\n')
for i in val_list:
fo4.write(file_name[i]+'\n')
fo1.close()
fo2.close()
fo3.close()
fo4.close()
一、原型:extern void *malloc(unsigned int num_bytes);头文件:#include <malloc.h> 或 #include <alloc.h> (注意:alloc.h 与 malloc.h 的内容是完全一致的。)功能:分配长度为num_bytes字节的内存块说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针N...
0、媒体采集的几个东西。这里所需要明白的是,在这个流程中,这里会存在几个对象: a、AVCaptureDevice。这里代表抽象的硬件设备。 b、AVCaptureInput。这里代表输入设备(可以是它的子类),它配置抽象硬件设备的ports。 c、AVCaptureOutput。它代表输出数据,管理着输出到一个movie或者图像。 d、AV
如果你有一个 HTTP 请求,其返回结果里包含一个 cookie,那么 Cookie 管理器会自动将该 cookie 保存起来,而且以后所有的对该网站的请求都使用同一个 cookie。当我们创建多个HTTP 请求时,由于这些数据是必填项,所以,我们就需要不停地填写相同的数据。如果项目进行过程中出现了更改域名或者IP、更改端口号等情况,我们又需要把每一个请求中的数据都做更改,感觉很麻烦,所以需要创建一个HTTP请求默认值,以后直接更改这里就OK,不用每个请求都要改一次。(2)聚合报告:汇总报告,汇总结果。
越来越多的人开始选择创建无线局域网,因为创建无线局域网不仅可以节省我们很多的经济成本,还能让我们更加自由的连接网络。最近,就有一些xp系统用户向小编咨询笔记本电脑要如何建立无线局域网。其实,创建过程非常的简单。接下来,小编就给大家介绍下WinXP系统创建无线局域网的具体方法。具体方法:1、启用无线网卡:请首先确认无线网卡的驱动程序已经正确安装,并打开无线网卡天线开关。联想笔记本大部分是FN+F5(...
NOIP初赛 CSP-J1 CSP-S1 第1轮 初赛 信奥中的数学知识(一)NOIP初赛 CSP-J1 CSP-S1 第1轮 初赛 信奥中的数学知识(一)-程序员秘密NOIP初赛 CSP-J1 CSP-S1 第1轮 初赛 信奥中的数学知识(二)NOIP初赛 CSP-J1 CSP-S1 第1轮 初赛 信奥中的数学知识(二)_dllglvzhenfeng的博客-程序员秘密NOIP初赛 CSP-J1 CSP-S1 第1轮 初赛 信奥中的数学知识(三)NOIP初赛 CSP
前有实施上线ETL(设计ETL任务),后有ETLN多任务的高效管理,对N 个ETL模块化管理即运维是整个项目投入人力、时间、精力 刚刚启动,不可控成本随之而来......上线ETL项目及用户感同身受,只有经历过才有发言权。所以ETL任务调度是ETL工具灵魂......ETL任务用于定义数据的抽取,转换及装载规则。ETL任务调度(简称ETL调度)用于控制ETL任务的启动运行(启动时间、运行周期及触发条件),实现数据的传输转换操作。ETL调度按照功能复杂度分为简单定时调度和工作流调度...
来源:恶意代码分析实战附录11、aaccept 用来监听入站网络连接,这个函数预示着程序会在一个套接字上监听入站网络连接。AdjustTokenPrivileges 用来启用或禁用特定的访问权限。执行进程注入的恶意代码会经常调用这个函数 ,来取得额外的权限。AttachThreadInput 将一个线程处理的输入附加到另一个线程上,使得第二个线程接收到输入事件。如...
UNITY 2019.4 编译 mono 底层,从AssetBundle加载 Assembly-CSharp.dll 热更
1. Java 平台级模块系统Java 9 的定义功能是一套全新的模块系统。当代码库越来越大,创建复杂,盘根错节的“意大利面条式代码”的几率呈指数级的增长。这时候就得面对两个基础的问题: 很难真正地对代码进行封装, 而系统并没有对不同部分(也就是 JAR 文件)之间的依赖关系有个明确的概念。每一个公共类都可以被类路径之下任何其它的公共类所访问到, 这样就会导致无意中使用了并不想被公开访问的
Linux内核中ideapad-laptop.c文件全解析2
首先系统环境:CentOS 7,2016年4月下载的最新版系统。先安装数据库:postgresql9.5.2去官网下载源码:postgresql.org安装基本的编译工具:yum install gcc make目前最新版本zlib是zlib1.2.8,安装开始;$wget http://www.zlib.net/zlib-1.2.8.tar.gz$tar -x