深度学习—利用TensorFlow2实现狗狗品种品种(DenseNet121实现)

使用深度学习识别狗的品种 作者|Nouman 编译|VK 来源|Towards Data Science 在这篇文章中,我将教你建立你自己的网页应用程序,它将接受你的狗的图片,并输出其品种。准确率超过80%! 我们将使用深度学习来训练一个模型的数据集的狗图像与他们的品种,以学习的特征来区分每一个品种。 数据分析 数据集可以从这里下载(https://s3-us-west-1.amazonaws.com/udacity-aind/dog-project/dogImages.zip)。在成功加载和浏览数据集后,以下是关于数据的一些介 阅读详情

全是代码和效果图,具体注解,回看利用resnet50的那篇博客就行

# 引入相关的库
import tensorflow as tf
from tensorflow.keras.preprocessing import image
import pathlib
import os
import numpy as np
import random
import glob
from tensorflow.keras.preprocessing.image import ImageDataGenerator
import pandas as pd
import matplotlib.pyplot as plt
gpus = tf.config.experimental.list_physical_devices('GPU')
tf.config.experimental.set_visible_devices(gpus[0], 'GPU')
tf.config.experimental.set_virtual_device_configuration(
    gpus[0],
    [tf.config.experimental.VirtualDeviceConfiguration(memory_limit=7000)])
from PIL import ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True
# 获取图片路径
train_root = '/home/hyb/狗狗识别/dogImages/train'
test_root = '/home/hyb/狗狗识别/dogImages/test'
valid_root = '/home/hyb/狗狗识别/dogImages/valid'
# 定义超参数,避免在编译,训练的代码中进行硬编码,方便调整超参数
weigth = 224
heigth = 224
channels = 3
batch_size = 28
num_classes = 133
# 数据增强
train_datagen = tf.keras.preprocessing.image.ImageDataGenerator(
    preprocessing_function = tf.keras.applications.densenet.preprocess_input,
    rotation_range= 40,
    width_shift_range= 0.2,
    height_shift_range= 0.2,
    shear_range= 0.2,
    zoom_range= 0.2,
    horizontal_flip= True,
    fill_mode= 'nearest'
)
# 主要是读取到图片目录下的所以狗狗种类和图片,对图片进行预处理
train_generator = train_datagen.flow_from_directory(
    train_root,
    target_size=(weigth,heigth),
    batch_size=batch_size,
    seed = 7,
    shuffle= True,
    class_mode = "categorical"
)


valid_datagen = tf.keras.preprocessing.image.ImageDataGenerator(
    preprocessing_function = tf.keras.applications.densenet.preprocess_input,
)
# 主要是读取到图片目录下的所以狗狗种类和图片,对图片进行预处理
valid_generator = train_datagen.flow_from_directory(
    valid_root,
    target_size=(weigth,heigth),
    batch_size=batch_size,
    seed = 7,
    shuffle= False,
    class_mode = "categorical"
)

train_num = train_generator.samples
valid_num = valid_generator.samples
print("训练集中的图片数量:",train_num)
print("验证集中的图片数量:",valid_num)
test_datagen = tf.keras.preprocessing.image.ImageDataGenerator(
    preprocessing_function = tf.keras.applications.densenet.preprocess_input,
)
test_generator = train_datagen.flow_from_directory(
    test_root,
    target_size=(weigth,heigth),
    batch_size=batch_size,
#     seed = 7,
#     shuffle= False,
#     class_mode = "categorical"
)
test_num = test_generator.samples
print("训练集中的图片数量:",test_num)
# 查看训练数据的维度保证和(batch_size,weight,height,channels)设置的超参数是一致的
## tip:如果(28,133)打印出来的维度不是预期的,可能是 '/home/hyb/狗狗识别/dogImages/train'这个路径下缺少了train,没有完全读到狗狗种类文件
for i in range(2):
    x,y = train_generator.next()
    print(x.shape,y.shape)
    print(y)
densenet_fine_tune = tf.keras.models.Sequential()
densenet_fine_tune.add(tf.keras.applications.DenseNet121(include_top = False,pooling = 'avg',weights = 'imagenet'))
# 修改输出神经元对应狗狗种类
densenet_fine_tune.add(tf.keras.layers.Dense(num_classes, activation = 'softmax'))
densenet_fine_tune.layers[0].trainable = False

# 对模型进行编译
densenet_fine_tune.compile(loss="categorical_crossentropy",
                           optimizer="Adam", metrics=['accuracy'])
densenet_fine_tune.summary()
# 设置哨兵,用来存储quan# 设置哨兵,用来存储权重模型,和数据收敛,模型再也学习不到新内容的时候及时收敛
checkpoint_path = "/home/hyb/狗狗识别/dogImages/saved_models/checkpoint_densenet/cp.ckpt"
checkpoint_dir = os.path.dirname(checkpoint_path)
checkpoint_filepath = tf.keras.callbacks.ModelCheckpoint(filepath=checkpoint_path,
                                                 verbose= 1,
                                                 save_weights_only= True,
                                                  save_best_only=True)
callback_dog=tf.keras.callbacks.EarlyStopping(patience=5,min_delta=1e-3)
history = densenet_fine_tune.fit(train_generator,
                              steps_per_epoch=train_num // batch_size,
                             epochs=50,
                             validation_data=valid_generator,
                             validation_steps= valid_num // batch_size,
                             callbacks=[checkpoint_filepath,callback_dog])

# 加载权重
densenet_fine_tune.load_weights(checkpoint_path)

# 评估模型
loss,acc = densenet_fine_tune.evaluate(test_generator,verbose=1)
print("Restored model, accuracy: {:5.2f}%".format(100*acc))

在这里插入图片描述

# 存储模型
densenet_fine_tune.save('/home/hyb/狗狗识别/dogImages/saved_models/model_h5/checkpoint_densenet/my_model.h5') 
# 重新创建完全相同的模型,包括其权重和优化程序
new_model = tf.keras.models.load_model('/home/hyb/狗狗识别/dogImages/saved_models/model_h5/checkpoint_densenet/my_model.h5')

# 显示网络结构
new_model.summary()
# 获取狗狗种类,以便后续对狗狗进行识别
files = sorted(os.listdir('./dogImages/test/'))
print(files)
# 狗狗的133个种类
files=['001.Affenpinscher', '002.Afghan_hound', '003.Airedale_terrier', '004.Akita', '005.Alaskan_malamute', '006.American_eskimo_dog', '007.American_foxhound', '008.American_staffordshire_terrier', '009.American_water_spaniel', '010.Anatolian_shepherd_dog', '011.Australian_cattle_dog', '012.Australian_shepherd', '013.Australian_terrier', '014.Basenji', '015.Basset_hound', '016.Beagle', '017.Bearded_collie', '018.Beauceron', '019.Bedlington_terrier', '020.Belgian_malinois', '021.Belgian_sheepdog', '022.Belgian_tervuren', '023.Bernese_mountain_dog', '024.Bichon_frise', '025.Black_and_tan_coonhound', '026.Black_russian_terrier', '027.Bloodhound', '028.Bluetick_coonhound', '029.Border_collie', '030.Border_terrier', '031.Borzoi', '032.Boston_terrier', '033.Bouvier_des_flandres', '034.Boxer', '035.Boykin_spaniel', '036.Briard', '037.Brittany', '038.Brussels_griffon', '039.Bull_terrier', '040.Bulldog', '041.Bullmastiff', '042.Cairn_terrier', '043.Canaan_dog', '044.Cane_corso', '045.Cardigan_welsh_corgi', '046.Cavalier_king_charles_spaniel', '047.Chesapeake_bay_retriever', '048.Chihuahua', '049.Chinese_crested', '050.Chinese_shar-pei', '051.Chow_chow', '052.Clumber_spaniel', '053.Cocker_spaniel', '054.Collie', '055.Curly-coated_retriever', '056.Dachshund', '057.Dalmatian', '058.Dandie_dinmont_terrier', '059.Doberman_pinscher', '060.Dogue_de_bordeaux', '061.English_cocker_spaniel', '062.English_setter', '063.English_springer_spaniel', '064.English_toy_spaniel', '065.Entlebucher_mountain_dog', '066.Field_spaniel', '067.Finnish_spitz', '068.Flat-coated_retriever', '069.French_bulldog', '070.German_pinscher', '071.German_shepherd_dog', '072.German_shorthaired_pointer', '073.German_wirehaired_pointer', '074.Giant_schnauzer', '075.Glen_of_imaal_terrier', '076.Golden_retriever', '077.Gordon_setter', '078.Great_dane', '079.Great_pyrenees', '080.Greater_swiss_mountain_dog', '081.Greyhound', '082.Havanese', '083.Ibizan_hound', '084.Icelandic_sheepdog', '085.Irish_red_and_white_setter', '086.Irish_setter', '087.Irish_terrier', '088.Irish_water_spaniel', '089.Irish_wolfhound', '090.Italian_greyhound', '091.Japanese_chin', '092.Keeshond', '093.Kerry_blue_terrier', '094.Komondor', '095.Kuvasz', '096.Labrador_retriever', '097.Lakeland_terrier', '098.Leonberger', '099.Lhasa_apso', '100.Lowchen', '101.Maltese', '102.Manchester_terrier', '103.Mastiff', '104.Miniature_schnauzer', '105.Neapolitan_mastiff', '106.Newfoundland', '107.Norfolk_terrier', '108.Norwegian_buhund', '109.Norwegian_elkhound', '110.Norwegian_lundehund', '111.Norwich_terrier', '112.Nova_scotia_duck_tolling_retriever', '113.Old_english_sheepdog', '114.Otterhound', '115.Papillon', '116.Parson_russell_terrier', '117.Pekingese', '118.Pembroke_welsh_corgi', '119.Petit_basset_griffon_vendeen', '120.Pharaoh_hound', '121.Plott', '122.Pointer', '123.Pomeranian', '124.Poodle', '125.Portuguese_water_dog', '126.Saint_bernard', '127.Silky_terrier', '128.Smooth_fox_terrier', '129.Tibetan_mastiff', '130.Welsh_springer_spaniel', '131.Wirehaired_pointing_griffon', '132.Xoloitzcuintli', '133.Yorkshire_terrier']
# 对狗狗种类进行预测:我这张是哈士奇,对应的是5号,虽然只有3%,但都比绝大多数的评分要多
from keras.preprocessing.image import load_img, img_to_array
pic_dog = '/home/hyb/下载/6d97155392b885da3b55dd249c337433.jpg'
pic_dog = load_img(pic_dog,target_size=(224,224))
pic_dog = img_to_array(pic_dog)
pic_dog = pic_dog/255
pic_dog = pic_dog.reshape(1,224,224,3)
result = densenet_fine_tune.predict(pic_dog)
# print(result)
count = 0
for i in result[0]:
    percent = '%.3f%%'%(i*100)
    print("{}的概率:{}".format(files[count],percent))
    count += 1

在这里插入图片描述
在这里插入图片描述

# 模型学习曲线
def plot_learning_curves(history, label, epcohs, min_value, max_value):
    data = {}
    data[label] = history.history[label]
    data['val_'+label] = history.history['val_'+label]
    pd.DataFrame(data).plot(figsize=(8, 5))
    plt.grid(True)
    plt.axis([0, 20, min_value, max_value])
    plt.show()
    
plot_learning_curves(history, 'accuracy', 20, 0, 1)
plot_learning_curves(history, 'loss', 20, 0, 2)
李沐动手学深度学习V2-实战Kaggle比赛:狗的品种识别(ImageNet Dogs)和代码实现 一. 实战Kaggle比赛:狗的品种识别(ImageNet Dogs) 1. 介绍 在这场比赛中,将识别120类不同品种的狗,这个数据集是ImageNet的数据集子集,与 CIFAR-10数据集中的图像不同, ImageNet数据集中的图像更高更宽,且尺寸不一。比赛网址:https://www.kaggle.com/c/dog-breed-identification 比赛数据集分为训练集和测试集,分别包含RGB(彩色)通道的10222张、10357张JPEG图像。 在训练数据集中,有120种犬类,如拉布拉 阅读详情

相关推荐

狗的品种识别实战(tf2.0)

  在深度学习之猫VS狗中,学习了猫和狗识别的分类算法,这能很好的区分猫和狗,那如果我们想做猫的品种识别或者狗的品种识别呢?比如给一只狗的图片,我们想知道它属于斗牛犬,还是柯基,还是中华田园犬?   很容易想到,用猫狗识别的网络肯定过于简单了,因为猫和狗的特征区别较大,所以网络层次不用很深也可以实现,但是同样是狗的种类,可能有的品种之间特征区别较小,所以我们需要更深层的网络来进行特征提取。所以我感...

weixin_43162240的博客 2万+

深度学习—利用TensorFlow2实现狗狗品种品种(resnet50实现)

识别狗狗品种利用TensorFlow2,实现:识别狗狗的113个品种狗狗种类识别的开发流程添加GPU的内存分配情况解决图片字节丢失对图片进行数据的预处理模型对模型进行测试 利用TensorFlow2,实现:识别狗狗的113个品种 我的开发环境是 Ubuntu18. TensorFlow2 狗狗品种的数据集是: https://s3.cn-north-1.amazonaws.com.cn/static-documents/nd101/v4-dataset/dogImages.zip 狗狗种类识别的开发流程

bingbign0607的博客 3022

第44步 深度学习图像识别:ResNet50建模(Tensorflow)

第44步 深度学习图像识别:ResNet50建模(Tensorflow)

Jet4505的博客 9147

「ResNet-18」70 个犬种的图片分类

「ResNet-18」70 个犬种的图片分类

小嗷犬的博客 569

120种犬类图像数据集

犬数据集包含来自世界各地的120种犬类的图像。该数据集是使用ImageNet中的图像和注释方法构建的,常用于细粒度图像分类任务 犬数据集(Stanford Dogs)包含来自世界各地的120种犬类的图像。该数据集是使用ImageNet中的图像和注释方法构建的,常用于细粒度图像分类任务。数据集包括: 类别数量:120 图像数量:20,580 注释:类标签,边界框

华硕ROG玩家国度安装Ubuntu双系统避坑指南:安全启动密钥那些事儿

本文详细解析了在华硕ROG玩家国度设备上安装Ubuntu双系统时,如何正确处理BIOS中的安全启动(Secure Boot)与密钥管理,避免常见的引导失败和Windows系统无法启动问题。指南提供了从数据备份、启动盘制作到BIOS精细设置(如将OS Type改为Other OS而非简单关闭Secure Boot)以及分区规划的完整流程,确保两个系统都能稳定共存。

weixin_29219189的博客 754

深度学习之基于Tensorflow2.0实现ResNet50网络

理论上讲,当网络层数加深时,网络的性能会变强,而实际上,在不断的加深网络层数后,分类性能不会提高,而是会导致网络收敛更缓慢,准确率也随着降低。利用数据增强等方法抑制过拟合后,准确率也不会得到提高,出现梯度消失的现象。因此,盲目的增加网络层数会适得其反,因此,ResNet(残差网络)系列网络出现了。本次基于Tensorflow2.0实现ResNet50网络。 1.ResNet50网络简介 ResNet50网络在层数上相比于VGG系列网络更胜一筹。这是何凯明在2015年提出的一种网络结构,获得了ILSVRC-2

starlet_kiss的博客 4865

【自动驾驶】汽车智能驾驶计算芯片

本文介绍汽车智能驾驶计算芯片的软硬件要求、 可靠性和安全性要求、 性能要求,和相应的试验方法。除了用于汽车智能驾驶, 其他领域的计算芯片可参照执行。

Mr.Cssust的博客 2631

DenseNet实战:tensorflow2.X版本,DenseNet121图像分类任务(大数据集)

摘要 本例提取了猫狗大战数据集中的部分数据做数据集,演示tensorflow2.0以上的版本如何使用Keras实现图像分类,分类的模型使用DenseNet121。本文实现的算法有一下几个特点: 1、自定义了图片加载方式,更加灵活高效,节省内存 2、加载模型的预训练权重,训练时间更短。 3、数据增强选用albumentations。 训练 第一步 导入需要的数据包,设置全局参数 import numpy as np from tensorflow.keras.optimizers import Adam im

AI浩 4834

基于POI-TL实现动态Word模板数据填充(含图表):从需求到落地的完整开发实践

本文聚焦企业级报告生成场景中 “在线编辑模板 + 动态数据填充” 的核心需求,详细阐述基于 POI-TL、OnlyOffice 与 MinIO 的全栈实现方案。通过代码示例拆解模板加载、文字填充、图表匹配渲染(含通过关系 ID 关联图表与段落的关键逻辑)、报告存储全步骤。最终通过技术组合实现业务人员可视化编辑模板、后端高效填充数据的目标,为同类动态 Word 生成需求提供可复用的实践参考。

imHanweihu的博客 1866

微信开放标签wx-open-launch-app样式失效?手把手教你正确设置点击区域(附完整代码)

本文详细解析了微信开放标签`wx-open-launch-app`样式失效和点击无响应的常见问题,提供了完整的解决方案和代码示例。通过分析标签内部实现机制,指导开发者正确设置点击区域和样式,确保跨平台兼容性和用户体验优化。

joy55的博客 320

基于tensorflow的ResNet50V2网络识别动物

之前很多人在,如何进行XXX的识别,对应的神经网络如何搭建。对应神经网络怎么搭建,我也是照本宣科,只能说看得懂而已,没有对这块进行深入的研究,但是现在tensorflow,paddle这些工具,都提供了非常成熟的神经网络进行直接使用。本文对过往的一些文章进行改造,使用已经集成的神经网络,简单的实现多个种类的动物识别。

2487

浊音/清音/爆破音的时域及频域特性

第一周作业 浊音/清音/爆破音的时域及频域特性 思路:使用Audacity进行录制,时域部分将音频放大观察波形规律,频域部分生成并进行频谱分析。 (1)浊音U 时域分析: 时域表现为短周期性,波形比较规律。 频域分析: 频域上表现为频率集中在低频区域,共振峰较为明显,短时能量较高。 (2)清音S 时域分析: 时域波形没有周期性,整体振幅小于浊音。 频域分析: 频域波形平缓,无共振峰,能量比较集中。 (3)爆破音t 时域分析: 脉冲波,更为尖锐,整体上振幅降低。 频域分析: 没有像浊音一样的共振

Leylaaaa的博客 1228

用Tensorflow2搭建经典的卷积神经网络(LeNet,AlexNet,VGG16,ResNet50)

最近看了卷积神经网络的一些经典论文,用Tensorflow2进行了复现,其中包括LeNet,AlexNet,VGG16,ResNet50,并且在数据集上进行了测试,能够正常训练,结果表明搭建的没有问题。 下面进入正题: import tensorflow as tf from tensorflow import keras from tensorflow.keras import layers import numpy as np import matplotlib.pyplot as plt %matpl

QianLong_的博客 1638

Android 13 灭屏音乐播放问题解决与优化建议

通过在中增加对音乐播放状态的检测,我们成功解决了客户应用在灭屏状态下音乐播放被中断的问题。

m0_60898338的博客 1157

YOLO26涨点改进 | 独家创新,细节涨点改进篇 | CVPR 2025顶会 | YOLO26引入Mona即插即用模块, 含MoCAA和DyTMona二次创新改进,含多种创新改进高效发论文

本文给大家介绍Mona即插即用模块, 含MoCAA和DyTMona二次创新模块优化YOLO26模型。YOLO26引入 Mona通过引入多尺度视觉友好型卷积滤波器(如3x3、5x5、7x7深度卷积)和可伸缩归一化层来优化适配器设计,以更好地处理视觉信号并调节输入特征分布。YOLO26引入Mona即插即用模块, 含MoCAA和DyTMona二次创新改进,含多种创新改进高效发论文。适合目标检测、图像分割、图像分类等所有CV任务通用即插即用模块。

Ai缝合怪、助力小伙伴高效发论文 240

基于Tensorflow2.2 Object detection API使用CenterNet_ResNet50_v2预训练模型训练自己的数据集实现目标检测

基于Tensorflow2.2 Object detection API使用CenterNet_ResNet50_v2预训练模型训练自己的数据集实现目标检测 前面一篇博客介绍了Tensorflow2.2 object detection api训练环境的搭建,如果先看到本篇博客且又需要配置训练环境的话,可以参考 ...

l13022736018的博客 3303

GeoServer下载与安装(详细图文教程)

GeoServer官方版可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过 GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。

大剑师兰特的GIS世界 3274

狗狗图片识别分类的CNN(卷积网络)实现

项目概述: 一种可用于移动应用或网络应用的算法。 代码将能够接受任何用户提供的图像作为输入。 如果从图像中检测出小狗,该算法将大致识别出小狗品种。 如果检测出人脸,该算法将大致识别出最相似的小狗品种。 项目学习步骤: 导入以及预处理数据集 建立人脸检测模块:采用OpenVC检测人脸(https://docs.opencv.org/trunk/db/d28/tutorial_cascade_...

cfy_goheaven的博客 4654

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Kaggle狗的种类识别竞赛——基于Pytorch框架的迁移学习方法

本文代码主要参考: https://www.kaggle.com/blankitdl/using-pytorch-resnet/edit https://www.kaggle.com/blankitdl/use-pretrained-pytorch-models/edit 一、基本介绍 比赛题目 Dog Breed Identification 官网对于比赛的介绍 In this playgro...

Blankit1的博客 3406

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

ResNet从理论到实践(二)使用ResNet18进行猫狗分类

今天和大家分享一个开源项目,利用ResNet-18进行猫狗分类。整个项目基于Pytorch1.7实现。 项目地址为:https://gitee.com/cv365/cat-dog_classification 1.背景 给定25000张图片,其中一半图片内容为猫,另外一半图片内容为狗,如下图所示: 想要训练一个分类器,用于分类图片中的动物是猫还是狗。 我们将这25000张图片分成2部分,第一部分为20000张,2种类别各10000张,用于训练;第二部分为5000张,2种类别各2500张,用于测试网络性能。

CV计算机视觉 5287

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

七个值得实践的Kaggle机器学习项目 - 2024更上一层楼

这是一个监督学习问题,我们通过分析欺诈(fraud)和非欺诈(non-fraud)交易案例的信用卡交易数据集,开发一个机器学习模型来检测欺诈性信用卡交易,这对于金融机构增强安全性、保护用户免受欺诈活动并使不同交易的环境变得非常容易至关重要。在这个项目中,我们利用带有标记音频剪辑的数据集,例如包含情感语音录音的“RAVDESS”数据集,开发一个可以识别口语中不同类型的情绪(愤怒、快乐、疯狂等)的模型。应用不同的聚类算法,根据模型形成的其他聚类可视化客户细分,分析每个细分的特征以获得营销数据信息。

加百力 的技术博客 1万+

玩转Kaggle:Dog Breed Identification【识别狗的类别】

文章目录1. Kaggle数据集介绍2. 下载数据和数据整理(kaggle官网即可)3. 图像增广4. 加载数据5.微调模型6.可视化validation数据7. 输出测试结果并提交kaggle 1. Kaggle数据集介绍 狗的类别识别:https://www.kaggle.com/c/dog-breed-identification 我们将识别 120 类不同品种的狗。 这个数据集实际上是著名的 ImageNet 的数据集子集。 数据分布: 2. 下载数据和数据整理(kaggle官网即可) im

Liu Feng's Blog 1万+

深度学习——狗的品种识别(ImageNet Dogs)

做一下kaggle中的狗的品种识别(Dog Breed Identification)本章主要学习了如何将pytorch模型转换为ONNX格式,方便部署到其他框架或设备上。至于前面的狗的品种识别也只是运用到了resent34这个预训练模型。 千山鸟飞绝,万径人踪灭。 --2023-11-3 进阶篇

2301_78630677的博客 4723

tensorflow2实现resnet50并用来分类猫狗

一、首先实现resnet50 具体可以参考这篇文章 import warnings warnings.filterwarnings("ignore") import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3' from tensorflow.keras.layers import (Conv2D,MaxPool2D,Input,ZeroPadding2D, Add,AveragePoo

sdhdsf132452的博客 2106

基于YOLOv8深度学习的120种犬类检测与识别系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战、狗类检测、犬种识别

基于YOLOv8深度学习的120种犬类检测与识别系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战、狗类检测、犬种识别

阿旭的博客 1万+
上一篇: 深度学习—利用TensorFlow2实现狗狗品种品种(mobilenet实现)
bingbing0607
博客等级 码龄9年 74粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值