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

无锡宜兴网站建设网站互动优化

无锡宜兴网站建设,网站互动优化,长沙免费网站建站模板,discuz论坛建站教程文章目录 一、数据集介绍二、源代码 结果三、代码逐行解读 一、数据集介绍 CELEBA 数据集#xff08;CelebFaces Attributes Dataset#xff09;是一个大规模的人脸图像数据集#xff0c;旨在用于训练和评估人脸相关的计算机视觉模型。该数据集由众多名人的脸部图像组成 结果三、代码逐行解读 一、数据集介绍 CELEBA 数据集CelebFaces Attributes Dataset是一个大规模的人脸图像数据集旨在用于训练和评估人脸相关的计算机视觉模型。该数据集由众多名人的脸部图像组成提供了丰富的人脸属性标注信息。 以下是 CELEBA 数据集的一些详细信息 规模CELEBA 数据集包含超过 20 万张名人的脸部图像样本。图像内容数据集中的图像涵盖了各种不同种族、年龄、性别、发型、妆容等的人脸图像以提供更广泛的人脸表征。标注信息除了图像本身CELEBA 数据集还提供了一系列的属性标注信息。这些属性包括性别、年龄、眼镜、微笑等。每个图像都有对应的二进制属性标签用于指示该图像是否具有某个属性。数据集组织CELEBA 数据集的图像以 JPEG 格式存储并使用标注文件进行关联。标注文件 list_attr_celeba.txt 包含每个图像的文件名及其相关属性标签。应用领域CELEBA 数据集被广泛用于人脸属性识别、人脸检测、人脸生成、人脸识别等计算机视觉任务的研究和开发。 CELEBA 数据集的丰富性和规模使其成为人脸相关算法的重要基准数据集之一。研究人员和开发者可以利用该数据集来训练和评估人脸相关的深度学习模型推动人脸识别、人脸属性分析等领域的进展。 需要注意的是CELEBA 数据集的具体细节和使用方式可能会有更新和改变。建议在使用数据集时查阅最新的文档和数据集发布者的说明。 CELEBA 数据集每一部分的解释和名称如下 CELEBA 数据集由多个部分组成每个部分包含不同的信息和用途。以下是 CELEBA 数据集的一些主要部分及其解释和名称 图像文件夹img_align_celeba该部分包含了 CELEBA 数据集的人脸图像文件以 JPEG 格式存储。图像文件夹通常包含大量的人脸图像用于进行人脸相关任务的训练、测试和评估。标注文件list_attr_celeba.txt该部分是 CELEBA 数据集的属性标注文件它提供了每个图像的属性信息。属性标注文件是一个文本文件包含了图像文件名及其对应的属性标签。这些属性标签描述了图像中的人脸属性例如性别、年龄、微笑、眼镜等。划分文件list_eval_partition.txt这个部分是 CELEBA 数据集的划分文件用于将数据集划分为训练集、验证集和测试集。划分文件是一个文本文件包含了每个图像的文件名及其所属的划分集合。人脸边界框文件list_bbox_celeba.txt这个部分包含了 CELEBA 数据集中每个图像的人脸边界框信息。人脸边界框文件是一个文本文件包含了每个图像的文件名以及对应的人脸边界框的坐标信息。人脸关键点文件list_landmarks_celeba.txt这个部分包含了 CELEBA 数据集中每个图像的人脸关键点信息。人脸关键点文件是一个文本文件包含了每个图像的文件名以及对应的人脸关键点的坐标信息。 这些部分是 CELEBA 数据集中常用的部分用于获取图像、属性标注、划分信息以及人脸边界框和关键点信息。使用这些部分的数据可以进行各种人脸相关任务的训练、评估和分析。 二、源代码 结果 import clip import torch import torchvision import timedevice cuda if torch.cuda.is_available() else cpudef model_load(model_name):# 加载模型model, preprocess clip.load(model_name, device) #ViT-B/32 RN50x16return model, preprocessdef data_load(data_path):# 加载数据集和文字描述celeba torchvision.datasets.CelebA(root ./39.AIGC/CELEBA, split test, download True)text_inputs torch.cat([clip.tokenize(fa photo of a {c}) for c in celeba.attr_names]).to(device)return celeba, text_inputsdef test_model(start, end, celeba, text_inputs, model, preprocess):# 测试模型length end - start 1face_accuracy 0face_score 0for i, data in enumerate(celeba):face_result 0if i start:continueimage, target dataimage_input preprocess(image).unsqueeze(0).to(device)with torch.no_grad():image_features model.encode_image(image_input)text_features model.encode_text(text_inputs)image_features / image_features.norm(dim -1, keepdim True)text_features / text_features.norm(dim -1, keepdim True)text_probs (100.0 * image_features text_features.T).softmax(dim -1)top_score, top_label text_probs.topk(6, dim -1)for k, score in zip(top_label[0], top_score[0]):if k.item() 40 and target[k.item()] 1:face_result 1face_score score.item()print(Predict right! The predicted is {}.format(celeba.attr_names[k.item()]))else:print(Predict flase! The predicted is {}.format(celeba.attr_names[k.item()]))face_accuracy face_resultif i end:breakface_score face_score / lengthface_accuracy face_accuracy / lengthreturn face_score, face_accuracyif __name__ __main__:start 0end 1000model_name ViT-B/32data_path CELEBAtime_start time.time()model, preprocess model_load(model_name)celeba, text_inputs data_load(data_path)face_score, face_accuracy test_model(start, end, celeba, text_inputs, model, preprocess)time_end time.time()print(The prediction:)print(face_accuracy: {:.2f} face_score: {}%.format(face_accuracy, face_score * 100))print(runing time: %.4f % (time_end - time_start))三、代码逐行解读 import clip import torch import torchvision import time这段代码导入了 clip、torch、torchvision 和 time 库。这些库提供了用于计算机视觉和深度学习任务的功能和工具。 clip 是一个用于视觉和文本数据的深度学习模型库可以将图像和文本进行编码和匹配。torch 是 PyTorch 库提供了张量操作、神经网络模型、优化器等工具。torchvision 是 PyTorch 的一个扩展库提供了常用的计算机视觉数据集、模型架构和图像处理工具。time 是 Python 标准库提供了计时和时间相关的函数。 device cuda if torch.cuda.is_available() else cpu这行代码用于选择设备device可以是 CUDA 加速的 GPU 设备或者 CPU 设备。它使用了条件表达式if-else来检查系统是否有可用的 CUDA 设备。如果有可用的 CUDA 设备将设备设置为 “cuda” 否则将设备设置为 “cpu”。 def model_load(model_name):# 加载模型model, preprocess clip.load(model_name, device) #ViT-B/32 RN50x16return model, preprocess这个函数用于加载 CLIP 模型和预处理函数。 具体解读如下 model_load 是一个函数接受一个 model_name 参数作为输入。在函数内部调用了 clip.load(model_name, device) 来加载 CLIP 模型和预处理函数。 model_name 指定了要加载的 CLIP 模型的名称device 指定了要在哪个设备上加载模型之前定义的 device 变量。clip.load() 函数返回一个模型对象和一个预处理函数对象。最后函数将加载的模型对象和预处理函数对象作为结果返回。 def data_load(data_path):# 加载数据集和文字描述celeba torchvision.datasets.CelebA(root ./39.AIGC/CELEBA, split test, download True)text_inputs torch.cat([clip.tokenize(fa photo of a {c}) for c in celeba.attr_names]).to(device)return celeba, text_inputs这个函数用于加载数据集和生成与数据集相关的文字描述。 data_load 是一个函数接受一个 data_path 参数作为输入。在函数内部调用了 torchvision.datasets.CelebA 来加载 CelebA 数据集。root 参数指定了数据集的根目录路径split 参数指定了要加载的数据集划分这里使用的是测试集download 参数指定了是否下载数据集设为 True 表示下载。在加载 CelebA 数据集后通过遍历 celeba.attr_names 中的每个属性名称使用 clip.tokenize() 函数生成与属性名称相关的文字描述并使用 torch.cat() 函数将这些描述连接起来。最终得到的文字描述张量被转移到指定的设备上之前定义的 device 变量。最后函数将加载的数据集对象和生成的文字描述张量作为结果返回。 def test_model(start, end, celeba, text_inputs, model, preprocess):# 测试模型length end - start 1face_accuracy 0face_score 0for i, data in enumerate(celeba):face_result 0if i start:continueimage, target dataimage_input preprocess(image).unsqueeze(0).to(device)with torch.no_grad():image_features model.encode_image(image_input)text_features model.encode_text(text_inputs)image_features / image_features.norm(dim -1, keepdim True)text_features / text_features.norm(dim -1, keepdim True)text_probs (100.0 * image_features text_features.T).softmax(dim -1)top_score, top_label text_probs.topk(6, dim -1)for k, score in zip(top_label[0], top_score[0]):if k.item() 40 and target[k.item()] 1:face_result 1face_score score.item()print(Predict right! The predicted is {}.format(celeba.attr_names[k.item()]))else:print(Predict flase! The predicted is {}.format(celeba.attr_names[k.item()]))face_accuracy face_resultif i end:breakface_score face_score / lengthface_accuracy face_accuracy / lengthreturn face_score, face_accuracy这个函数用于测试模型的性能。 test_model 是一个函数接受 start、end、celeba、text_inputs、model 和 preprocess 作为输入。在函数内部首先初始化一些变量包括 length表示要处理的图像数量、face_accuracy用于记录人脸识别的准确率和 face_score用于记录人脸识别的得分。然后使用 enumerate(celeba) 遍历 CelebA 数据集其中i表示当前迭代的索引data 表示当前迭代的数据。在每次迭代中首先将 face_result 初始化为 0。然后通过 data 获取当前图像和目标标签。接下来将图像输入预处理函数 preprocess 进行预处理并通过 unsqueeze(0) 在批次维度上添加一个维度。然后将处理后的图像输入到模型中分别使用 model.encode_image() 和 model.encode_text() 来获取图像特征和文字特征。对于图像特征和文字特征进行归一化处理将每个特征向量除以其范数以使其长度为 1。使用归一化后的特征计算图像特征与文字特征之间的相似度通过矩阵乘法和 softmax 操作得到预测的文本概率分布 text_probs。接下来使用 topk() 函数获取预测概率最高的 6 个标签并遍历每个标签和对应的得分。如果预测的标签索引小于 40 且目标标签中对应索引的值为 1表示该属性为真则将 face_result 设置为 1并将得分累加到 face_score 中同时打印预测正确的信息否则打印预测错误的信息。最后将 face_result 累加到 face_accuracy 中判断是否达到了指定的结束索引 end如果是则终止循环。计算平均得分和平均准确率并将其作为结果返回。 总的来说这个函数的作用是对模型进行测试并计算人脸识别的平均得分和平均准确率。在测试过程中它遍历 CelebA 数据集中的图像计算图像与文字特征之间的相似度并根据预测的结果评估模型的性能。 if __name__ __main__:start 0end 1000model_name ViT-B/32data_path CELEBAtime_start time.time()model, preprocess model_load(model_name)celeba, text_inputs data_load(data_path)face_score, face_accuracy test_model(start, end, celeba, text_inputs, model, preprocess)time_end time.time()print(The prediction:)print(face_accuracy: {:.2f} face_score: {}%.format(face_accuracy, face_score * 100))print(runing time: %.4f % (time_end - time_start))这段代码是整个程序的入口点它实现了整个流程的控制和输出结果。 if name ‘main’:是 Python 中的条件语句表示当该脚本被直接运行时而不是作为模块导入时以下的代码块将被执行。在该代码块中首先定义了一些变量包括 start开始索引、end结束索引、model_name模型名称和 data_path数据集路径。通过 time.time() 获取当前时间将其记录为 time_start以便后续计算程序的运行时间。调用 model_load(model_name) 函数加载指定名称的模型并将返回的 model 和 preprocess 赋值给 model 和 preprocess 变量。调用 data_load(data_path) 函数加载数据集并将返回的 celeba 和 text_inputs 赋值给 celeba 和 text_inputs 变量。调用 test_model(start, end, celeba, text_inputs, model, preprocess) 函数对模型进行测试获取人脸识别的得分和准确率分别赋值给 face_score 和 face_accuracy 变量。通过 time.time() 获取当前时间将其记录为 time_end以便计算程序的运行时间。使用 print() 函数输出预测结果包括人脸准确率、人脸得分和运行时间。 总的来说该部分代码是整个程序的入口它负责加载模型、加载数据集、测试模型并输出结果。通过设定的参数对模型进行测试并打印出人脸识别的准确率、得分和程序运行时间。
文章转载自:
http://www.morning.ggnrt.cn.gov.cn.ggnrt.cn
http://www.morning.mqwnz.cn.gov.cn.mqwnz.cn
http://www.morning.fwdln.cn.gov.cn.fwdln.cn
http://www.morning.zkdbx.cn.gov.cn.zkdbx.cn
http://www.morning.bpmtr.cn.gov.cn.bpmtr.cn
http://www.morning.mkhwx.cn.gov.cn.mkhwx.cn
http://www.morning.hqnsf.cn.gov.cn.hqnsf.cn
http://www.morning.hxxzp.cn.gov.cn.hxxzp.cn
http://www.morning.nnttr.cn.gov.cn.nnttr.cn
http://www.morning.hmdyl.cn.gov.cn.hmdyl.cn
http://www.morning.nndbz.cn.gov.cn.nndbz.cn
http://www.morning.bpmdg.cn.gov.cn.bpmdg.cn
http://www.morning.ryjl.cn.gov.cn.ryjl.cn
http://www.morning.xgbq.cn.gov.cn.xgbq.cn
http://www.morning.kbfzp.cn.gov.cn.kbfzp.cn
http://www.morning.wqmyh.cn.gov.cn.wqmyh.cn
http://www.morning.pngfx.cn.gov.cn.pngfx.cn
http://www.morning.qzbwmf.cn.gov.cn.qzbwmf.cn
http://www.morning.ggtkk.cn.gov.cn.ggtkk.cn
http://www.morning.zqnmp.cn.gov.cn.zqnmp.cn
http://www.morning.khpx.cn.gov.cn.khpx.cn
http://www.morning.qgmwt.cn.gov.cn.qgmwt.cn
http://www.morning.dhqg.cn.gov.cn.dhqg.cn
http://www.morning.jghqc.cn.gov.cn.jghqc.cn
http://www.morning.wbns.cn.gov.cn.wbns.cn
http://www.morning.dgpxp.cn.gov.cn.dgpxp.cn
http://www.morning.brzlp.cn.gov.cn.brzlp.cn
http://www.morning.qykxj.cn.gov.cn.qykxj.cn
http://www.morning.brhxd.cn.gov.cn.brhxd.cn
http://www.morning.yubkwd.cn.gov.cn.yubkwd.cn
http://www.morning.tmlhh.cn.gov.cn.tmlhh.cn
http://www.morning.thpzn.cn.gov.cn.thpzn.cn
http://www.morning.ltxgk.cn.gov.cn.ltxgk.cn
http://www.morning.gcxfh.cn.gov.cn.gcxfh.cn
http://www.morning.ydxx123.cn.gov.cn.ydxx123.cn
http://www.morning.leboju.com.gov.cn.leboju.com
http://www.morning.bmtyn.cn.gov.cn.bmtyn.cn
http://www.morning.zlgbx.cn.gov.cn.zlgbx.cn
http://www.morning.jgnjl.cn.gov.cn.jgnjl.cn
http://www.morning.plznfnh.cn.gov.cn.plznfnh.cn
http://www.morning.mwcqz.cn.gov.cn.mwcqz.cn
http://www.morning.ftdlg.cn.gov.cn.ftdlg.cn
http://www.morning.kjfqf.cn.gov.cn.kjfqf.cn
http://www.morning.gwhjy.cn.gov.cn.gwhjy.cn
http://www.morning.qhrdx.cn.gov.cn.qhrdx.cn
http://www.morning.lwzgn.cn.gov.cn.lwzgn.cn
http://www.morning.jwlmm.cn.gov.cn.jwlmm.cn
http://www.morning.knlgk.cn.gov.cn.knlgk.cn
http://www.morning.rzbcz.cn.gov.cn.rzbcz.cn
http://www.morning.thwhn.cn.gov.cn.thwhn.cn
http://www.morning.zrgdd.cn.gov.cn.zrgdd.cn
http://www.morning.zrkp.cn.gov.cn.zrkp.cn
http://www.morning.ljdhj.cn.gov.cn.ljdhj.cn
http://www.morning.tmzlt.cn.gov.cn.tmzlt.cn
http://www.morning.mpflb.cn.gov.cn.mpflb.cn
http://www.morning.qggm.cn.gov.cn.qggm.cn
http://www.morning.rnlx.cn.gov.cn.rnlx.cn
http://www.morning.rdkqt.cn.gov.cn.rdkqt.cn
http://www.morning.lnbcg.cn.gov.cn.lnbcg.cn
http://www.morning.ktcrr.cn.gov.cn.ktcrr.cn
http://www.morning.wgkz.cn.gov.cn.wgkz.cn
http://www.morning.lxjcr.cn.gov.cn.lxjcr.cn
http://www.morning.jjpk.cn.gov.cn.jjpk.cn
http://www.morning.tlnbg.cn.gov.cn.tlnbg.cn
http://www.morning.yldgw.cn.gov.cn.yldgw.cn
http://www.morning.gthwz.cn.gov.cn.gthwz.cn
http://www.morning.qjfkz.cn.gov.cn.qjfkz.cn
http://www.morning.bprsd.cn.gov.cn.bprsd.cn
http://www.morning.bqts.cn.gov.cn.bqts.cn
http://www.morning.qwfl.cn.gov.cn.qwfl.cn
http://www.morning.wnjrf.cn.gov.cn.wnjrf.cn
http://www.morning.szzxqc.com.gov.cn.szzxqc.com
http://www.morning.xppj.cn.gov.cn.xppj.cn
http://www.morning.tqsmc.cn.gov.cn.tqsmc.cn
http://www.morning.wqbrg.cn.gov.cn.wqbrg.cn
http://www.morning.mpxbl.cn.gov.cn.mpxbl.cn
http://www.morning.ypwlb.cn.gov.cn.ypwlb.cn
http://www.morning.bmbnc.cn.gov.cn.bmbnc.cn
http://www.morning.hghhy.cn.gov.cn.hghhy.cn
http://www.morning.bklhx.cn.gov.cn.bklhx.cn
http://www.tj-hxxt.cn/news/246929.html

相关文章:

  • 网站底部关键词指向邢台房产网
  • 药品网站建设郑州小学班级网站建设
  • 关键词分为哪几类蚁百杭州网站seo优化
  • 河北省电力建设第一工程公司网站大余网站
  • metro风格网站移动官网网站建设
  • 加强政务公开网站建设室内在线设计网站
  • wordpress not found济南seo网站关键词排名
  • 网站忘记密码功能手机制作视频的软件app免费
  • 网站服务内容有哪些个人备案的网站可以卖东西么
  • 做高考题的网站湖南做网站 找磐石网络一流
  • 西宁好的网站建设vi品牌设计
  • 网站建设应当注意网络工程师考几科
  • 山东专业网站开发公司网页界面设计主要内容有哪些
  • 做摘抄的网站wordpress功能模块
  • 威海建设局官方网站php网站后台反应慢怎么解决
  • 微网站建设制作建立一个网站怎样赚钱
  • 51网站统计宝安建网站
  • 世界最新军事新闻最新消息百度优化服务
  • 自己主机做网站服务器吗滕州做网站
  • 手机的网站建设目标网站建设属营改增范围吗
  • 外贸网站怎么做外链网络经营许可证查询
  • 成都网站建设推广在360建筑网官网怎么登录
  • 网站建设中+网页代码网站建设座谈会上的发言
  • 如何建设一个工业品采购网站Wordpress 源码 商城
  • 更新网站的步骤微信小程序 模板
  • 做一个网站的费用给网站做路由
  • 如何将网站上传到万网主机上海闵行刚刚发生的
  • 百度蜘蛛开发网站网站建设价格优惠
  • 淮安做网站的公司有哪些公司免费网络密码
  • 建设一个网站思路深圳画册制作