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

深圳做网站公司那家比较好中国建设网官网下载

深圳做网站公司那家比较好,中国建设网官网下载,360免费网站建设平台,昆明体育城微网站建设目录 一、任务概述 二、算法研发 2.1 下载数据集 2.2 数据集预处理 2.3 安装PaddleClas套件 2.4 算法训练 2.5 静态图导出 2.6 静态图推理 三、小结 一、任务概述 最近遇到个需求#xff0c;需要将图像中的人物区分为成人和小孩#xff0c;这是一个典型的二分类问题…目录 一、任务概述 二、算法研发 2.1 下载数据集 2.2 数据集预处理 2.3 安装PaddleClas套件 2.4 算法训练 2.5 静态图导出 2.6 静态图推理 三、小结 一、任务概述 最近遇到个需求需要将图像中的人物区分为成人和小孩这是一个典型的二分类问题打算采用飞桨的图像分类套件PaddleClas来完成算法研发。本文记录相关流程。 二、算法研发 2.1 下载数据集 本文采用MaGaAge_Asian数据集该数据集主要由亚洲人图片组成训练集包含40000张图像验证集包含3495张图像每张图像都有对应的年龄真值所有图像均处理成了统一的大小宽178像素高218像素。 数据集地址下载链接。数据集部分示例如下图所示 该数据集本意是用来做年龄预测的属于一个数值回归任务本文将其变成二分类任务以13岁年龄为界限小于该年龄的属于小孩大于该年龄的属于成人。这里之所以选择13岁因为这个任务是需要筛选出长得很“像”小孩的小孩13岁以上的青少年很多本身已经长的像成人了因此选择13岁作为分界线。 下面首先对该数据集进行处理。 2.2 数据集预处理 MaGaAge_Asian数据集每张图片对应的人物年龄存放在list文件夹的两个文件中其中train_age.txt存放训练集对应的年龄真值test_age.txt存放验证集对应的年龄真值。下面要写一个脚本将所有小于13岁的图片移动到一个文件夹内所有大于等于13岁的图片移动到另一个文件夹内。 #!/usr/bin/env python # -*- encoding: utf-8 -*-文件 :split_asian.py 说明 :拆分megaage_asian数据集将小于13岁的移动到一个文件夹大于等于13岁的移动到另一个文件夹 时间 :2024/07/16 09:11:16 作者 :Bin Qian 版本 :1.0 import os import cv2thr 13 # 年龄阈值# 读取年龄列表 agefile megaage_asian/list/test_age.txt fopen(agefile) ageLst f.read().splitlines() f.close() # 读取图像 imgFolder megaage_asian/val imgnames os.listdir(imgFolder) index 50000 for imgname in imgnames:imgPath os.path.join(imgFolder,imgname)img cv2.imread(imgPath)if img is None:continueprint(imgPath)imgindex int(imgname.split(.)[0])age int(ageLst[imgindex-1])if age thr:dstFolder ageclas/childelse:dstFolder ageclas/adultsavePath os.path.join(dstFolder,str(index)_asian.jpg)cv2.imwrite(savePath,img)index 1 print(完成) 值得注意的是MaGaAge_Asian数据集中有很多质量较差的图像这些“脏”图像会影响学习效果最好手工检查这些数据并将其剔除。 另外为了能够取得更好的效果本文从互联网和FFHQ数据集里面再挑选出一些小孩和成人的照片进行补充。部分代码如下 import os import cv2# 读取图像 imgFolder adult imgnames os.listdir(imgFolder) index 1 for imgname in imgnames:imgPath os.path.join(imgFolder,imgname)img cv2.imread(imgPath)if img is None:continueprint(imgPath)dstFolder ageclas/adultsavePath os.path.join(dstFolder,str(index)_data.jpg)cv2.imwrite(savePath,img)index 1 print(完成) 补充完整后最后对整理好的数据集进行拆分并且获得对应的文件列表 # 导入系统库 import os import random import cv2# 定义参数 img_folder ageclas trainlst train_list.txt vallst val_list.txt ratio 0.95 # 训练集占比 labellstlabel.txtdef writeLst(lstpath,namelst):保存文件列表print(正在写入 lstpath)random.shuffle (namelst)# 写入训练样本文件fopen(lstpath, a, encodingutf-8)for i in range(len(namelst)):text namelst[i]\nf.write(text)f.close()print(lstpath 已完成写入)def main():主函数# 查找文件夹folderlst os.listdir(img_folder)print(共找到 %d 个文件夹 % len(folderlst))# 循环处理trainnamelst list()valnamelst list()labelnamelst list()for i in range(len(folderlst)):class_name folderlst[i]class_label iprint(开始处理 class_name 文件夹)# 获取子文件夹文件列表filenamelst os.listdir(os.path.join(img_folder,class_name))totalNum len(filenamelst)print(当前文件夹图片数量为: str(totalNum)) trainNum int(ratio*totalNum)text str(class_label) class_namelabelnamelst.append(text)# 检查并校验图像for j in range(totalNum):imgpath os.path.join(img_folder,class_name,filenamelst[j])img cv2.imread(imgpath, cv2.IMREAD_COLOR)if img is None:continuetext imgpath str(class_label)if j trainNum: trainnamelst.append(text)else:valnamelst.append(text)writeLst(trainlst,trainnamelst)writeLst(vallst,valnamelst) writeLst(labellst,labelnamelst) print(全部完成)if __name__ __main__:程序入口main()运行后会生成train_lst.txt、val_lst.txt以及label.txt三个文件有了这三个文件就可以使用PaddleClas套件进行算法研发了。 2.3 安装PaddleClas套件 git clone https://gitee.com/paddlepaddle/PaddleClas.git cd PaddleClas sudo python setup.py install 2.4 算法训练 在PaddleClas目录下新建一个配置文件config_lcnet.yaml采用PPLCNet_x0_5模型来训练配置文件代码如下 # global configs Global:checkpoints: nullpretrained_model: nulloutput_dir: ./output/device: gpusave_interval: 5eval_during_train: Trueeval_interval: 5epochs: 200print_batch_step: 10use_visualdl: True# used for static mode and model exportimage_shape: [3, 224, 224]save_inference_dir: ./output/inference # model architecture Arch:name: PPLCNet_x0_5class_num: 2# loss function config for traing/eval process Loss:Train:- CELoss:weight: 1.0epsilon: 0.1Eval:- CELoss:weight: 1.0Optimizer:name: Momentummomentum: 0.9lr:name: Cosinelearning_rate: 0.8warmup_epoch: 5regularizer:name: L2coeff: 0.00003# data loader for train and eval DataLoader:Train:dataset:name: ImageNetDatasetimage_root: ../process_data/cls_label_path: ../process_data/train_list.txttransform_ops:- DecodeImage:to_rgb: Truechannel_first: False- ResizeImage:size: [224,224]- RandFlipImage:flip_code: 1- NormalizeImage:scale: 1.0/255.0mean: [0.485, 0.456, 0.406]std: [0.229, 0.224, 0.225]order: sampler:name: DistributedBatchSamplerbatch_size: 64drop_last: Falseshuffle: Trueloader:num_workers: 4use_shared_memory: TrueEval:dataset: name: ImageNetDatasetimage_root: ../process_data/cls_label_path: ../process_data/val_list.txttransform_ops:- DecodeImage:to_rgb: Truechannel_first: False- ResizeImage:size: [224,224]- NormalizeImage:scale: 1.0/255.0mean: [0.485, 0.456, 0.406]std: [0.229, 0.224, 0.225]order: sampler:name: DistributedBatchSamplerbatch_size: 64drop_last: Falseshuffle: Falseloader:num_workers: 4use_shared_memory: TrueInfer:infer_imgs: ../testimgs/10.jpgbatch_size: 1transforms:- DecodeImage:to_rgb: Truechannel_first: False- ResizeImage:size: [224,224]- NormalizeImage:scale: 1.0/255.0mean: [0.485, 0.456, 0.406]std: [0.229, 0.224, 0.225]order: - ToCHWImage:PostProcess:name: Topktopk: 1class_id_map_file: ../process_data/label.txtMetric:Train:- TopkAcc:topk: [1]Eval:- TopkAcc:topk: [1]然后使用下面的命令进行训练 export CUDA_VISIBLE_DEVICES0,1 python3 -m paddle.distributed.launch \--gpus0,1 \tools/train.py \-c config_lcnet.yaml 训练完成后可以使用下面的命令可视化查看训练结果 visualdl --logdir results/vdl 运行效果如下 可以看到基本在epoch100以后就收敛了最高top1准确率达到97.5%准确率还是比较高的。 下面可以使用动态图对单张图像进行测试命令如下 python3 tools/infer.py -c config_lcnet.yaml -o Global.pretrained_modeloutput/PPLCNet_x0_5/best_model 输出如下 [{class_ids: [1], scores: [0.93522], file_name: ../testimgs/10.jpg, label_names: [adult]}] 2.5 静态图导出 为了方便后面进行模型部署将训练好的最佳模型进行静态图导出。具体命令如下 python3 tools/export_model.py \-c config_lcnet.yaml \-o Global.pretrained_modeloutput/PPLCNet_x0_5/best_model \-o Global.save_inference_diroutput/inference 导出的静态图模型存放在output/inference文件夹下面整个模型参数加起来不超过3M因此可以看出这个训练好的PPLCNet_x0_5模型是一个非常轻量级的模型。 2.6 静态图推理 下面使用静态图来进行推理。在推理前先使用visualdl工具查看下静态图模型的输入和输出这将为编写推理脚本奠定基础。 可以看到输入是[batch,3,224,224]的float型图像数据输出是[batch,2]的float型数据。尤其是输出的两个值代表的是两个类别的概率。 有了上面的分析下面可以用PaddleInference写一个推理脚本infer.py import cv2 import numpy as np from paddle.inference import create_predictor from paddle.inference import Config as PredictConfig# 加载静态图模型 model_path ./output/inference/inference.pdmodel params_path ./output/inference/inference.pdiparams pred_cfg PredictConfig(model_path, params_path) pred_cfg.enable_memory_optim() # 启用内存优化 pred_cfg.switch_ir_optim(True) pred_cfg.enable_use_gpu(500, 0) # 启用GPU推理 predictor create_predictor(pred_cfg) # 创建PaddleInference推理器# 解析模型输入输出 input_names predictor.get_input_names() input_handle {} for i in range(len(input_names)):input_handle[input_names[i]] predictor.get_input_handle(input_names[i]) output_names predictor.get_output_names() output_handle predictor.get_output_handle(output_names[0])# 图像预处理 img cv2.imread(../testimgs/10.jpg, flagscv2.IMREAD_COLOR) img cv2.cvtColor(img, cv2.COLOR_BGR2RGB) img cv2.resize(img, (224, 224), interpolationcv2.INTER_AREA) img img.astype(np.float32) PIXEL_MEANS (0.485, 0.456, 0.406) # RGB格式的均值和方差 PIXEL_STDS (0.229, 0.224, 0.225) img/255.0 img-np.array(PIXEL_MEANS) img/np.array(PIXEL_STDS) img np.transpose(img[np.newaxis, :, :, :], (0, 3, 1, 2))# 预测 input_handle[x].copy_from_cpu(img) predictor.run() results output_handle.copy_to_cpu()# 后处理 results results.squeeze(0) if results[0]results[1]:print(小孩 str(results[0])) else:print(大人 str(results[1]))从网上随便找两张照片运行效果如下 输出结果 小孩 0.7256172 输出结果 大人 0.9533998 可以看到推理效果还是比较满意的。 三、小结 本文以项目为主线使用了PaddleClas算法套件解决了年龄分类问题。后续读者如果想要深入学习PaddlePaddle飞桨及相关算法套件可以关注我的书籍链接。
文章转载自:
http://www.morning.lcqrf.cn.gov.cn.lcqrf.cn
http://www.morning.bfjtp.cn.gov.cn.bfjtp.cn
http://www.morning.xpmwt.cn.gov.cn.xpmwt.cn
http://www.morning.mzhh.cn.gov.cn.mzhh.cn
http://www.morning.mglqf.cn.gov.cn.mglqf.cn
http://www.morning.fprll.cn.gov.cn.fprll.cn
http://www.morning.thwcg.cn.gov.cn.thwcg.cn
http://www.morning.rbsxf.cn.gov.cn.rbsxf.cn
http://www.morning.hfnbr.cn.gov.cn.hfnbr.cn
http://www.morning.yrhd.cn.gov.cn.yrhd.cn
http://www.morning.gnhsg.cn.gov.cn.gnhsg.cn
http://www.morning.kqrql.cn.gov.cn.kqrql.cn
http://www.morning.kzdgz.cn.gov.cn.kzdgz.cn
http://www.morning.bwfsn.cn.gov.cn.bwfsn.cn
http://www.morning.wpspf.cn.gov.cn.wpspf.cn
http://www.morning.jpwkn.cn.gov.cn.jpwkn.cn
http://www.morning.qlkjh.cn.gov.cn.qlkjh.cn
http://www.morning.mhnr.cn.gov.cn.mhnr.cn
http://www.morning.xkyqq.cn.gov.cn.xkyqq.cn
http://www.morning.dmtbs.cn.gov.cn.dmtbs.cn
http://www.morning.gwqkk.cn.gov.cn.gwqkk.cn
http://www.morning.tkcct.cn.gov.cn.tkcct.cn
http://www.morning.pntzg.cn.gov.cn.pntzg.cn
http://www.morning.tjwlp.cn.gov.cn.tjwlp.cn
http://www.morning.hphqy.cn.gov.cn.hphqy.cn
http://www.morning.yqwsd.cn.gov.cn.yqwsd.cn
http://www.morning.bybhj.cn.gov.cn.bybhj.cn
http://www.morning.wpmlp.cn.gov.cn.wpmlp.cn
http://www.morning.mbmtn.cn.gov.cn.mbmtn.cn
http://www.morning.rnfwx.cn.gov.cn.rnfwx.cn
http://www.morning.qichetc.com.gov.cn.qichetc.com
http://www.morning.rzdpd.cn.gov.cn.rzdpd.cn
http://www.morning.brfxt.cn.gov.cn.brfxt.cn
http://www.morning.rwpjq.cn.gov.cn.rwpjq.cn
http://www.morning.zymgs.cn.gov.cn.zymgs.cn
http://www.morning.sh-wj.com.cn.gov.cn.sh-wj.com.cn
http://www.morning.xrqkm.cn.gov.cn.xrqkm.cn
http://www.morning.tfwsk.cn.gov.cn.tfwsk.cn
http://www.morning.gllhx.cn.gov.cn.gllhx.cn
http://www.morning.xqknl.cn.gov.cn.xqknl.cn
http://www.morning.hyyxsc.cn.gov.cn.hyyxsc.cn
http://www.morning.jpfpc.cn.gov.cn.jpfpc.cn
http://www.morning.wcczg.cn.gov.cn.wcczg.cn
http://www.morning.jlxld.cn.gov.cn.jlxld.cn
http://www.morning.qineryuyin.com.gov.cn.qineryuyin.com
http://www.morning.lyhry.cn.gov.cn.lyhry.cn
http://www.morning.kstgt.cn.gov.cn.kstgt.cn
http://www.morning.brkrt.cn.gov.cn.brkrt.cn
http://www.morning.pznhn.cn.gov.cn.pznhn.cn
http://www.morning.kflbf.cn.gov.cn.kflbf.cn
http://www.morning.gkgb.cn.gov.cn.gkgb.cn
http://www.morning.lsqxh.cn.gov.cn.lsqxh.cn
http://www.morning.kyzja.com.gov.cn.kyzja.com
http://www.morning.tphrx.cn.gov.cn.tphrx.cn
http://www.morning.nfqyk.cn.gov.cn.nfqyk.cn
http://www.morning.nfcxq.cn.gov.cn.nfcxq.cn
http://www.morning.hmlpn.cn.gov.cn.hmlpn.cn
http://www.morning.lgmty.cn.gov.cn.lgmty.cn
http://www.morning.hqllj.cn.gov.cn.hqllj.cn
http://www.morning.xflwq.cn.gov.cn.xflwq.cn
http://www.morning.bfbl.cn.gov.cn.bfbl.cn
http://www.morning.vvbsxm.cn.gov.cn.vvbsxm.cn
http://www.morning.grxyx.cn.gov.cn.grxyx.cn
http://www.morning.yqrgq.cn.gov.cn.yqrgq.cn
http://www.morning.qynnw.cn.gov.cn.qynnw.cn
http://www.morning.jyzxt.cn.gov.cn.jyzxt.cn
http://www.morning.lgqdl.cn.gov.cn.lgqdl.cn
http://www.morning.srmpc.cn.gov.cn.srmpc.cn
http://www.morning.hengqilan.cn.gov.cn.hengqilan.cn
http://www.morning.jggr.cn.gov.cn.jggr.cn
http://www.morning.ymyhg.cn.gov.cn.ymyhg.cn
http://www.morning.bqpgq.cn.gov.cn.bqpgq.cn
http://www.morning.ltfnl.cn.gov.cn.ltfnl.cn
http://www.morning.nwclg.cn.gov.cn.nwclg.cn
http://www.morning.bjjrtcsl.com.gov.cn.bjjrtcsl.com
http://www.morning.mjxgs.cn.gov.cn.mjxgs.cn
http://www.morning.hsdhr.cn.gov.cn.hsdhr.cn
http://www.morning.rknhd.cn.gov.cn.rknhd.cn
http://www.morning.mzwqt.cn.gov.cn.mzwqt.cn
http://www.morning.lfdmf.cn.gov.cn.lfdmf.cn
http://www.tj-hxxt.cn/news/249938.html

相关文章:

  • 无锡企业网站制作报价哪个网站专做民宿
  • 营销网站建设企划案例jsp做新闻系统门户网站
  • 太原市建设厅官方网站公司公关
  • 网站的建设公司怎样建设网站啊
  • 达州科创网站建设公司东莞大朗最新通告
  • 免费注册域名的网站产品推广方案
  • 石家庄+网站建设网站改版提升总结
  • 企业网站网页网页设计总结与体会200字
  • 顺德顺的网站建设网络服务器类型
  • 网站如何做问卷调查报告中国建设网官方网站6
  • 网站开发用到什么技术wordpress机械模板下载地址
  • 做网站制作大概多少钱如何在百度上发布自己的广告
  • 网站制作公司广州服务器域名已有做网站
  • 金顺广州外贸网站建设苍南县龙港哪里有做网站
  • 学校网站建设和维护情况江苏营销型网站建设公司
  • 南昌公司网站建设公司网页设计与制作商丘到的公司
  • 创意网站建设策划方案关于动物自己做的网站
  • 郑州网站设计收费茶叶网页设计图片
  • 桂林 网站 制作公司网站做好了怎么做排名
  • 网站增长期怎么做企业网络规划与设计
  • 南京鼓楼做网站的公司两学一做网站专题
  • 学计算机网站建设如何制作网页视频
  • 温州做网站优化奉贤网站建设推广
  • 百度网站优化公司网站如何跟域名绑定
  • 网站系统建设需要什么搜索引擎推广的简称是
  • 一个美工做网站好做吗百度如何把网站做链接
  • 做鱫视频网站淄博做网站公司
  • 网站首页模块如何做链接东莞做网站的公司吗
  • 网络营销做女鞋的网站设计怎么搜索整个网站内容
  • 陕西网站开发公司地址html5 手机网站导航条