13。数据集处理
视频:13.数据集处理import os import numpy as np import matplotlib.pyplot as plt import matplotlib.image as mpimg #查看显示图像 datasetdir="catdog" filepath="catdog/cat/cat.1.jpg" img=mpimg.imread(filepath) plt.imshow(img) plt.show() classname=[] #classname=os.listdir(datasetdir) for fpath in os.listdir(datasetdir): if os.path.isdir(os.path.join(datasetdir,fpath)): classname.append(fpath) print(classname) with open("labels.txt","w") as f: for v in classname: f.write(v+" ") datalst=[] for i,fdir in enumerate(classname): for fname in os.listdir(os.path.join(datasetdir,fdir)): datalst.append([os.path.join(fdir,fname),i]) print(datalst) datanp=np.array(datalst) print(datanp.shape) np.random.shuffle(datanp) print(datanp) #train:val:test=7:2:1 ratiotrain=0.7 ratioval=0.2 ratiotest=0.1 train=datanp[:int(datanp.shape[0]*ratiotrain)] val=datanp[int(datanp.shape[0]*ratiotrain):int(datanp.shape[0]*(ratiotrain+ratioval))] test=datanp[int(datanp.shape[0]*(ratiotrain+ratioval)):] print(train.shape,val.shape,test.shape) with open("train_list.txt","w") as f: for v in train: f.write(v[0]+" "+v[1]+" ") with open("val_list.txt","w") as f: for v in val: f.write(v[0]+" "+v[1]+" ") with open("test_list.txt","w") as f: for v in test: f.write(v[0]+" "+v[1]+" ") import cv2 def transform_img(img): img=cv2.resize(img,(224,224)) img=np.transpose(img,(2,0,1)) #[H,W,C]=>[C,H,W] img=img.astype(np.float32) img=img/127.5-1.0 #[-1.0,1.0] return img datalst=[] with open("train_list.txt") as f: data=f.readlines() for v in data: s=v.split(" ") imgpath=s[0] label=s[1][:-1] datalst.append([imgpath,label]) datanp=np.array(datalst) print(datanp.shape,datanp[0]) datalst=[] def data_loader(data=datanp,batch_size=10,mode="train"): def reader(): if mode=="train": np.random.shuffle(data) batch_imgs=[] batch_labels=[] for v in data: img=cv2.imread(os.path.join(datasetdir,v[0])) img=transform_img(img) batch_imgs.append(img) batch_labels.append(v[1]) if len(batch_imgs)==batch_size: imgs_array=np.array(batch_imgs).astype(np.float32) labels_array=np.array(batch_labels).astype(np.int64) yield imgs_array,labels_array batch_imgs=[] batch_labels=[] if len(batch_imgs)>0: imgs_array=np.array(batch_imgs).astype(np.float32) labels_array=np.array(batch_labels).astype(np.int64) yield imgs_array,labels_array batch_imgs=[] batch_labels=[] return reader for i,batch in enumerate(data_loader(datanp,batch_size=10,mode="train")()): print(i) print(batch[1].shape,batch[0].shape) break
加拿大政府禁用华为中兴产品,外交部回应5月19日,加拿大政府以所谓国家安全为由,宣布禁止加电信系统使用华为中兴公司的产品和服务,并称此系经加安全部门评估与加盟友协商后作出的决定。对此,在今天(20日)举行的中国外交部例
16G512G大存储1亿像素4nm处理器,卖5499是否低了?今年的游戏手机,除了ROG还没有发布新机,红魔黑鲨联想都已经上线了,黑鲨更是直接从骁龙870到骁龙8Gen1把骁龙8系芯片直接包圆了,有便宜的黑鲨5,也有5499的黑鲨5Pro。那
美日芯片联盟成立,台积电恐怕真后悔失去华为的订单了美日芯片联盟的成立已引发全球芯片行业的高度关注,作为全球芯片行业领先者的三星和台积电当然不会看不到,此举对这两家芯片企业的影响应该是最大的,而作为芯片代工行业领军者台积电或许会因此
大咖论数郭亮东数西算推动算力产业五大变革东数西算工程是国家重要的战略工程之一。支撑东数西算的算力网络将成为国家重要的算力基础设施。据开放数据中心委员会ODCC数据,目前我国已有500万左右标准机架的数据中心规模,但是东西
5000万台!国家决定更换纯国产电脑,联想或将被抛弃?不知道大家有没有发现,近年来人们对国产品牌的接受度越来越高。而且国家还在大力支持国产企业,很多国产企业的知名度越来越高,受到了人们的喜爱。而前段时间为了更好地支持国产电脑的发展,我
Java中间件Memcached一知识结构及面试题目分析缓存技术的大规模使用是互联网架构区别于传统IT技术最大的地方,是整体高并发高性能架构设计中是重中之重的关键一笔,也是互联网公司比较偏好的面试题目。按照在软件
4家快递企业4月份收入同比逆势增长行业集中度进一步提高本报记者李春莲见习记者刘钊5月18日至5月19日,顺丰控股圆通速递韵达股份和申通快递等4家快递上市公司先后发布4月份主要经营数据。与5月16日国家邮政局公布的4月份全国快递服务业务
小米在第一季度收入降至733亿元,亏损5。3亿智能手机制造商小米公司报告第一季度收入下降,原因是疫情以及供应链导致。数据显示,截至3月31日的季度收入从去年同期的768。8亿元降至733。5亿元人民币(108。5亿美元),低于
使用MinIO搭建对象存储服务1。MinIO是什么?MinIO是一款高性能分布式的对象存储系统。它是一款软件产品,可以100的运行在标准硬件。即X86等低成本机器也能够很好的运行MinIO。MinIO与传统的存
华为Mate50将支持5G,要王者归来了?前几天我们给大家写过贴牌Mate40E的事。这台手机凭什么敢抄袭华为?虽然外观跟华为一毛一样,但配置低得离谱(天玑1000),而且logo也不是华为的,最离谱的是,山寨机一般的存在
侵犯消费者知情权!YY直播拒绝配合核查消费记录5月19日,广东省消费者委员会曝光,广州津虹网络传媒有限公司旗下YY直播平台拒绝配合核查消费记录,侵犯消费者知情权。YY直播平台官网截图,资料图片消费者投诉没有用过YY直播却有消费