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

盐城网站开发基本流程布吉个人网站建设

盐城网站开发基本流程,布吉个人网站建设,小程序app公众号的区别,wordpress 后台输入表格有框_预览没有边框文章目录 前言fastai介绍数据集介绍 一、环境准备二、数据集处理1.数据目录结构2.导入依赖项2.读入数据3.模型构建3.1 寻找合适的学习率3.2 模型调优 4.模型保存与应用 总结人工智能-图像识别 系列文章目录 前言 fastai介绍 fastai 是一个深度学习库#xff0c;它为从业人员… 文章目录 前言fastai介绍数据集介绍 一、环境准备二、数据集处理1.数据目录结构2.导入依赖项2.读入数据3.模型构建3.1 寻找合适的学习率3.2 模型调优 4.模型保存与应用 总结人工智能-图像识别 系列文章目录 前言 fastai介绍 fastai 是一个深度学习库它为从业人员提供了高级组件可以快速、轻松地在标准深度学习领域提供最先进的结果并为研究人员提供了低级组件可以混合和匹配以构建新的方法。以解耦抽象的方式表达了许多深度学习和数据处理技术的通用底层模式。 fastai 有两个主要的设计目标易于使用、快速高效同时具有很强的可破解性和可配置性。它建立在提供可组合构件的低级应用程序接口的层次结构之上。这样如果用户想重写部分高级应用程序接口或添加特定行为以满足自己的需求就不必学习如何使用最底层的应用程序接口。 数据集介绍 下载链接 Caltech101国内下载地址 Caltech101 Caltech101数据集内部有 101 个类别的物体图片。每个类别约有 40 至 800 张图片。大多数类别约有 50 张图片。每张图片的大小大约为 300 x 200 像素。并且作者还标注了这些图片中每个物体的轮廓这些都包含在 Annotations.tar 中。还有一个 MATLAB 脚本 show_annotations.m 可以查看注释。 Collected in September 2003 by Fei-Fei Li, Marco Andreetto, and Marc’Aurelio Ranzato。 一、环境准备 这里展示使用GPU进行训练的环境搭建只用CPU也可以进行训练只是训练时间比较慢。 首先安装Anaconda通过conda安装我们需要的包 conda install pytorch torchvision torchaudio pytorch-cuda11.8 -c pytorch -c nvidiaconda install -c nvidia fastai anaconda详情可见第一篇文章。 二、数据集处理 1.数据目录结构 ├───data_iamge │ ├───101_ObjectCategories │ │ ├───accordion │ │ ├───airplanes │ │ ├───anchor │ │ ├───ant │ │ ├───BACKGROUND_Google │ │ ├───barrel │ │ ├───bass │ │ ├───beaver │ │ ├───binocular │ │ ├───bonsai │ │ ├───brain │ │ ├───brontosaurus ...2.导入依赖项 from fastai import * from fastai.vision.all import * from fastai.metrics import error_rateimport os #from keras.utils import plot_model import pandas as pd import numpy as np import matplotlib.pyplot as plt查看环境以及版本信息cuda.is_available()判断是否可以用GPU。 print(torch.cuda.is_available()) print(torch.__version__) print(torch.version.cuda) print(torch.backends.cudnn.version())True 2.0.1 11.8 8700 SEED Everything def seed_everything(SEED42):random.seed(SEED)np.random.seed(SEED)torch.manual_seed(SEED)torch.cuda.manual_seed(SEED)torch.cuda.manual_seed_all(SEED)torch.backends.cudnn.benchmark True # keep True if all the input have same size. SEED42 seed_everything(SEEDSEED) SEED Everything2.读入数据 代码如下示例 path./data_image/101_ObjectCategories/ image_rsize224 item_tfms [Resize((image_rsize,image_rsize))] data ImageDataLoaders.from_folder(path, train ., valid_pct0.2,sizeimage_rsize,item_tfmsitem_tfms) data.show_batch(figsize(7,6))3.模型构建 这里使用预训练模型resnet101这是一个非常优秀的残差网络模型。 这些残差网络更容易优化并且可以从显着增加的深度中获得准确性。 这些残差网络的集合在 ImageNet 测试集上实现了 3.57% 的误差。该结果在ILSVRC 1分类任务中获得第一名。 learn cnn_learner(data, models.resnet101, model_dir./model, path Path(.))3.1 寻找合适的学习率 learn.lr_find()接下来使用fit_one_cycle方法用更小的学习率进一步训练。fit_one_cycle使用的是一种周期性学习率从较小的学习率开始学习缓慢提高至较高的学习率然后再慢慢下降周而复始每个周期的长度略微缩短在训练的最后部分允许学习率比之前的最小值降得更低。这不仅可以加速训练还有助于防止模型落入损失平面的陡峭区域使模型更倾向于寻找更平坦的极小值从而缓解过拟合现象。 lr1 1e-3 lr2 1e-1epoch train_loss valid_loss time 0 1.417713 1.648756 00:45 1 3.097069 9.964518 00:43 2 5.385355 5.347832 00:44 3 4.194504 12.162844 00:44 4 2.985504 3.486863 00:43 5 2.152388 22.297184 00:43 6 1.295905 3.554162 00:43 7 0.630879 9.193820 00:43 8 0.361619 49.334236 00:43 9 0.255115 9.832499 00:433.2 模型调优 unfreeze 在fastai课程中使用的是预训练模型模型卷积层的权重已经提前在ImageNet 上训练好了在使用的时候一般只需要在预训练模型最后一层卷积层后添加自定义的全连接层即可。卷积层默认是freeze的即在训练阶段进行反向传播时不会更新卷积层的权重只会更新全连接层的权重。在训练几个epoch之后全连接层的权重已经训练的差不多了但accuracy还没有达到你的要求这时你可以调用unfreeze然后再进行训练这样在进行反向传播时便会更新卷积层的权重(一般不会对卷积层权重进行较大的更新只会进行一点点的微调越靠前的卷积层调整的幅度越小所以有了differential learning rate 这一想法) precompute 当precomputeTrue时会提前计算出每一个训练样本不包括增强样本在预训练模型最后一层卷积层的activation 并将其缓存下来之后在训练阶段进行前向传播的时候直接将precompute 的activation 作为后面全连接层(FC Layer)的输入这样便省去前面卷积层进行前向传播的计算量减少训练所需时间这种优势在epoch比较大的时候能够显著0提高训练速度。当precomputeFalse时则不会提前计算训练样本的activation每一个epoch都需要重新将训练样本增强样本(前提是进行了增强操作)进行卷积层的前向传播然后进行反向传播更新对应的权重。 learn.unfreeze() learn.show_results()从展示的部分训练结果可以看出只有一张图被预测错误了其他的都是正确的。 4.模型保存与应用 最后我们可以将模型保存下来并且对验证集的图片的类别进行预测。 learn.export(Path(./model/export.pkl))from PIL import Image img Image.open(pathant/image_0001.jpg) image_rsize224 # Resize the image to 224x224 img_resized img.resize((image_rsize,image_rsize)) pred, pred_idx, probs learn.predict(img_resized) im_t cast(array(img_resized), TensorImage) # Print the predicted label and probability print(fPredicted label: {pred}, probability: {probs[pred_idx]:.4f}) img总结 epoch train_loss valid_loss time 0 1.030772 979.477417 00:52 1 1.074642 86.289436 00:52 2 0.553576 0.457210 00:52 3 0.302997 0.546438 00:52 4 0.176070 0.596845 00:52我们借助fastai训练了resnet101模型对 101 个类别的图像数据集进行了分类。 使用基于pytorch的fastai库使用resnet模型和有101个类别的Caltech101图像数据集训练了一个高准确率的多分类的深度学习模型能够对101个类别的图像大数据集进行准确的图像类别识别。 使用简洁高效的代码借助GPU提升训练速度也可以使用CPU训练本项目会自动识别硬件首先数据集进行预处理然后对模型进行训练并将模型保存为pkl格式最后对测试集的图像的类别进行预测。 可见使用fastai进行图像多分类是非常简便的所使用的代码行数非常少却能达到很高的准确率而且借助GPU训练速度非常快。 这里将全部的代码和图片数据集打包起来了方便大家复现。 开箱即用欢迎下载 使用fastai对Caltech101数据集进行图像多分类 单独下载数据集 Caltech101数据集 2023完整版 增加了更多图片 人工智能-图像识别 系列文章目录 环境搭建: pytorch以及fastai安装配置GPU训练环境 待更新。。。使用fastai对Caltech101数据集进行图像多分类50行以内的代码就可达到很高准确率
http://www.pierceye.com/news/175643/

相关文章:

  • 免费php企业网站苏州网站建设多少钱
  • 重庆网站制作设计抚州网站建设
  • 国外psd网页模板网站免费学校网站管理系统
  • 网站开发合作合同范本电子商务营销渠道有哪些
  • 云南网站建设哪个好沈阳视频制作公司
  • 可以做公众号的一些网站企业级网站开发需求分析
  • 建设网站收费标准品牌网络推广公司排名
  • 网站怎么做动态背景图片营销型网站建设的优势有哪些
  • 专业网站制作软件网页设计五个页面
  • 个人网站的成本球形网架结构厂家
  • 顺德网站制作案例价位php做视频网站源码
  • 网站优化 无需定金公明网站制作
  • 安徽龙山建设网站wordpress 禁止twitter
  • 中卫市网站开发制作网页设计html代码大全颜色
  • 深圳网站建设伪静态 报价 jsp 语言新网站如何推广
  • 南京建设局网站首页wordpress 要求ftp
  • 百度站长 添加网站哪些网站可以上传自己做的视频
  • 网站开发的论文引言微信网站开发视频教程
  • 宁波网站制作出售爱南宁app下载官网最新版
  • 科技类公司名称大全常州网站关键词优化咨询
  • 共享ip服务器做网站如何把网站推广出
  • 网站开发标书范本免费模板下载网站推荐
  • 郑州品牌网站建设宿松县住房和城乡建设局网站
  • 电商网站开发与运营赣州爆炸事故
  • 牡丹区建设局网站黄骅贴吧最近发生的事
  • 手机一键建站北京公司网站建站
  • 做个简单网站大概多少钱广州联亨科技网站建设
  • 恺策网优 营销型网站建设品牌服务商在线html网站开发
  • 做seo要明白网站桂林生活网新闻
  • 网站建设供需武昌做网站哪家专业