【人工智能项目】深度学习实现图像多标签分类

多标签分类(三): Multi-Label Image Recognition with Graph Convolutional Networks 基于卷积网络的多标签图像识别 摘要   多标签图像识别的任务是预测图像中出现的一组目标标签。由于目标通常同时出现在图像中,为了提高识别性能,需要对标签依赖进行建模。为了捕获和探索这种重要的依赖关系,我们提出了一种基于图卷积网络(Graph Convolutional Network GCN)的多标签分类模型。该模型在对象标签上构建了一个有向图,其中每个节点(标签)用标签的单词嵌入表示,GCN学习了如何将这个标签图映射到一组相互依赖的对象分类器中,这些分类器应用于由另一子网提取出来的图像描述符,使整个网络具有 阅读详情
AI摘要

本文介绍了如何使用深度学习实现图像的多标签分类。通过ResNet50模型进行迁移学习,处理CMYK格式图片并进行数据增强,训练过程中采用二进制交叉熵损失和sigmoid激活函数。模型训练后,对测试集进行预测并转换为中文标签,最后生成提交文件。

【人工智能项目】深度学习实现图像多标签分类

在这里插入图片描述

本次实现一个图像多标签分类的任务,接下来还会分享我研究生阶段做过的其它任务,走起瓷!!!
在这里插入图片描述

任务介绍

训练一个多标签分类模型,使得该模型能自动根据输入的任意图像提供对应图片内容的多个标签

数据集介绍

本次竞赛共有3.5W张图片作为训练集,8K张图片作为第一阶段评分测试集,最后6612张图片作为总决赛测试集。

  • viual_china_train.csv:图片与标签对应的列表。
  • valid_tags.txt: 6941个标签的有序列表文件。
  • tags_train.npz: 3.5W张图片对应的标签
  • train.tgz: 3.5W张训练图片
  • valid.tgz: 8K验证图片

思路

如猫狗大战的二分类、cifar-10的多分类,本次题目是多标签的图像分类,每张图片可能没有标签页可能存在6941个标签,即各个标签之间是不存在互斥关系的,所以最终分类的损失函数不能用softmax而必须要用sigmoid。然后把分类层预测6941个神经元,每个神经元用sigmoid函数返回是否存在某个标签即可。

具体流程

# 导入模块
import os

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

from PIL import Image
# 存放地址
dir_path = "D:\\01\\01contest"
print(os.listdir(dir_path))

[‘tag_train.npz’, ‘train’, ‘train.tar’, ‘train.tgz’, ‘valid’, ‘valid.tar’, ‘valid.tgz’, ‘valid_tags.txt’, ‘visual_china_train.csv’]

获取数据和标签

先导入train_csv的数据,保存文件名以及标签名。

# 查看数据
train_path = os.path.join(dir_path,"visual_china_train.csv")
train_df = pd.read_csv(train_path)
train_df.head()

在这里插入图片描述

print(train_df.shape)

(35000, 2)

处理图片名称,将其保存到img_paths列表中

img_paths = list(train_df["img_path"])

验证图片标签是否的确只有6941个标签。

tags = []
for i in range(train_df["tags"].shape[0]):
    for tag in train_df["tags"].iloc[i].split(","):
        tags.append(tag)
        
tags = set(tags)
print("the length of tags:",len(tags))

the length of tags: 6941

前期准备工作差不多做完了,开始导入训练集。原始训练集中存在CMYK格式的图片,传统图片处理一般格式为RGB格式,所以我们使用Image库中的convert函数对非RGB格式的图片进行转换。

# 尝试少量数据验证模型
num_train = 5000
X_train = np.zeros((num_train,224,224,3),dtype=np.uint8)
i = 0
for img_path in img_paths[:num_train]:
    img = Image.open(dir_path + "/train/" + img_path)
    if img.mode!="RGB":
        img = img.convert("RGB")
    img = img.resize((224,224))
    arr = np.asarray(img)
    X_train[i,:,:,:] = arr
    i += 1

训练集导入完成,查看一下图片的样子.

fig,axes = plt.subplots(6,6,figsize=(20,20))

j = 0
for i,img in enumerate(X_train[:36]):
    axes[i//6,j%6].imshow(img)
    j+=1

在这里插入图片描述
准备标签

y_train_path = os.path.join(dir_path,"tag_train.npz")
y_train = np.load(y_train_path)
y_train.files

[‘tag_train’]

y_train = y_train["tag_train"]
y_train.shape

(35000, 6941)

这样,数据和标签都拿到了,这里还是要是要分割一下数据集的。

分割数据集用作不同用途。

from sklearn.model_selection import train_test_split
X_train2,X_val,y_train2,y_val = train_test_split(X_train,y_train[:num_train],test_size=0.2,random_state=2019)
print(X_train2.shape)
print(y_train2.shape)
print(X_val.shape)
print(y_val.shape)

(4000, 224, 224, 3)
(4000, 6941)
(1000, 224, 224, 3)
(1000, 6941)

模型搭建

这里直接迁移模型,用ResNet模型进行迁移。

# 导入开发需要的库
from keras.models import *
from keras.layers import *
from keras.optimizers import *
from keras.callbacks import *
from keras.applications import *
base_model = ResNet50(input_tensor=Input((224,224,3)),weights="imagenet",include_top=False)

for layers in base_model.layers:
    layers.trainable = False
x = GlobalAveragePooling2D()(base_model.output)
x = Dropout(0.25)(x)
x = Dense(6941,activation="sigmoid")(x)
model = Model(base_model.input,x)

监测精准率 召回率 和F1的功能函数

import keras.backend as K

def precision(y_true, y_pred):
    # Calculates the precision
    true_positives = K.sum(K.round(K.clip(y_true * y_pred, 0, 1)))
    predicted_positives = K.sum(K.round(K.clip(y_pred, 0, 1)))
    precision = true_positives / (predicted_positives + K.epsilon())
    return precision

def recall(y_true, y_pred):
    # Calculates the recall
    true_positives = K.sum(K.round(K.clip(y_true * y_pred, 0, 1)))
    possible_positives = K.sum(K.round(K.clip(y_true, 0, 1)))
    recall = true_positives / (possible_positives + K.epsilon())
    return recall

def fbeta_score(y_true, y_pred, beta=1):
    # Calculates the F score, the weighted harmonic mean of precision and recall.
    if beta < 0:
        raise ValueError('The lowest choosable beta is zero (only precision).')
    
    # If there are no true positives, fix the F score at 0 like sklearn.
    if K.sum(K.round(K.clip(y_true, 0, 1))) == 0:
        return 0

    p = precision(y_true, y_pred)
    r = recall(y_true, y_pred)
    bb = beta ** 2
    fbeta_score = (1 + bb) * (p * r) / (bb * p + r + K.epsilon())
    return fbeta_score

def fmeasure(y_true, y_pred):
    # Calculates the f-measure, the harmonic mean of precision and recall.
    return fbeta_score(y_true, y_pred, beta=1)

数据增强操作

from keras.preprocessing.image import ImageDataGenerator

train_datagen = ImageDataGenerator(width_shift_range=0.1,
                                   height_shift_range=0.1,
                                   zoom_range=0.1)
val_datagen = ImageDataGenerator() # 验证集不做图片增强

batch_size = 4

train_generator = train_datagen.flow(X_train2,y_train2,batch_size=batch_size,shuffle=False)
val_generator = val_datagen.flow(X_val,y_val,batch_size=batch_size,shuffle=False)

模型训练

keras.callbacks.ModelCheckpoint(filepath,monitor='val_loss',verbose=0,save_best_only=False, save_weights_only=False, mode='auto', period=1)

  • filename:字符串,保存模型的路径(可以将模型的准确率和损失等写到路径中,格式如下:)
  • monitor:需要检测的值如测试集损失或者训练集损失等
  • save_best_only:当设置为True时,监测值有改进时才会保存当前的模型
  • verbose:信息展示模式,0或1(当为1时会有如下矩形框的信息提示)
  • mode:‘auto’,‘min’,‘max’之一,在save_best_only=True时决定性能最佳模型的评判准则,例如,当监测值为val_acc时,模式应为max,当监测值为val_loss时,模式应为min。在auto模式下,评价准则由被监测值的名字自动推断。
  • save_weights_only:若设置为True,则只保存模型权重,否则将保存整个模型
  • period:CheckPoint之间的间隔的epoch数

keras.callbacks.ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=10, verbose=0, mode='auto', epsilon=0.0001, cooldown=0, min_lr=0)

  • 当评价指标不在提升时,减少学习率
  • monitor:被监测的量
  • factor:每次减少学习率的因子,学习率将以lr = lr*factor的形式被减少
  • patience:当patience个epoch过去而模型性能不提升时,学习率减少的动作会被触发
  • mode:‘auto’,‘min’,‘max’之一,在min模式下,如果检测值触发学习率减少。在max模式下,当检测值不再上升则触发学习率减少。
  • epsilon:阈值,用来确定是否进入检测值的“平原区”
  • cooldown:学习率减少后,会经过cooldown个epoch才重新进行正常操作
  • min_lr:学习率的下限
checkpointer = ModelCheckpoint(filepath='weights_best_simple_model.hdf5', 
                            monitor='val_fmeasure',verbose=1, save_best_only=True, mode='max')
reduce = ReduceLROnPlateau(monitor='val_fmeasure',factor=0.5,patience=2,verbose=1,min_delta=1e-4,mode='max')

model.compile(optimizer = 'adam',
           loss='binary_crossentropy',
           metrics=['accuracy',fmeasure,recall,precision])

epochs = 5
history = model.fit_generator(train_generator,
                             validation_data=val_generator,
                             steps_per_epoch=num_train/batch_size,
                             validation_steps = num_train/batch_size,
                             epochs=epochs,
                             callbacks=[checkpointer,reduce],
                             verbose=1)

在这里插入图片描述
以上就是5000张图片的简单模型训练过程。

模型保存

model.save("model.h5")

模型预测

predict_path = os.path.join(dir_path,"valid")
predict_img_paths = os.listdir(predict_path)
predict_num = len(predict_img_paths)
print(predict_num)

导入测试集

model.load_weights("weights_best_simple_model.hdf5")
X_test = np.zeros((predict_num,224,224,3),dtype=np.uint8)
i = 0
for img_path in predict_img_paths:
    img = Image.open(predict_path + "\\" + img_path)
    if img.mode!="RGB":
        img = img.convert("RGB")
    img = img.resize((224,224))
    arr = np.asarray(img)
    X_test[i,:,:,:] = arr
    i += 1

预测测试集并将结果转为中文标签,以便生成提交文件。

y_pred = model.predict(X_test)
print(y_pred.shape)
y_pred[0]

(8000, 6941)
array([3.2395124e-05, 0.0000000e+00, 2.0861626e-07, …, 0.0000000e+00,
0.0000000e+00, 0.0000000e+00], dtype=float32)

# 将预测结果转换为中文标签

# 第一步  形成索引和标签的字典 
def hash_tag(filepath):
    f = open(filepath,"r",encoding="utf-8")
    hash_tag = {}
    i = 0
    for line in f.readlines():
        line = line.strip()
        hash_tag[i] = line
        i += 1
    return hash_tag
filepath = os.path.join(dir_path,"valid_tags.txt")
hash_tag = hash_tag(filepath)

# 第二步将结果转为中文标签
def arr2tag(arr):
    tags = []
    for i in range(arr.shape[0]):
        tag = []
        index = np.where(arr[i]>0.5)
        index = index[0].tolist()
        tag = [hash_tag[j] for j in index]
        tags.append(tag)
    return tags
y_tags = arr2tag(y_pred)
print(y_tags[0])

[‘20多岁’, ‘一个人’, ‘不看镜头’, ‘东亚’, ‘东方人’, ‘亚洲’, ‘亚洲人’, ‘亚洲人和印度人’, ‘人’, ‘仅成年人’, ‘休闲活动’, ‘休闲装’, ‘女性’, ‘幸福’, ‘彩色图片’, ‘微笑’, ‘成年人’, ‘户外’, ‘拿着’, ‘摄影’, ‘放松’, ‘水平画幅’, ‘爱’, ‘生活方式’, ‘男人’, ‘男性’, ‘白昼’, ‘衣服’, ‘青年人’]

print(len(y_tags[0]))
print(len(y_tags[1]))
29
30

生成提交文件*

import pandas as pd

df = pd.DataFrame({"img_path":predict_img_paths, "tags":y_tags})
for i in range(df["tags"].shape[0]):
    df["tags"].iloc[i] = ",".join(str(e) for e in  df["tags"].iloc[i])
df.to_csv("submit.csv",index=None)
# 预览一下结果文件
predict_df = pd.read_csv("submit.csv")
predict_df.head()

在这里插入图片描述

小结

那本次就到此为止,有问题请留言了,要是时间长了,可能也就回忆不起来了~~

在这里插入图片描述

多标签分类(四):Multi-Label Classification with Label Graph Superimposing 基于标签图叠加的多标签分类 摘要   图像或视频总是包含多个对象或动作。由于深度学习技术的快速发展,多标签识别已经实现了良好的性能.近年来,图卷积网络(GCN)被用来提高多标签识别的性能,然而,标签相关建模的最佳方式是什么,以及如何通过标签系统感知来改进特征学习,目前还不清楚.本文提出了一种标签图叠加框架,从以下两个方面对传统的多标签识别GCN+CNN框架进行改进.首先将统计共现信息构建的标签图叠加到标签知识先验构建的图中,建立标签相关性模型,然后对最终叠加的图进行多层卷积,实现标签的嵌入抽象 ... 阅读详情

相关推荐

Multi-Label Image Classification(多标签图像分类)

Multi-Label Classification 首先分清一下multiclass和multilabel: 多类分类(Multiclass classification): 表示分类任务中有多个类别, 且假设每个样本都被设置了一个且仅有一个标签。比如从100个分类中击中一个。 多标签分类(Multilabel classification): 给每个样本一系列的目标标签,即表示的是样本各属性而不是相互排斥的。比如图片中有很多的概念如天空海洋人等等,需要预测出一个概念集合。 Challenge 多标签

nakaizura 3万+

【机器学习】多标签分类怎么做?(Python)

一、基本介绍首先简单介绍下,多标签分类与多分类、多任务学习的关系:多分类学习(Multi-class):分类器去划分的类别是多个的,但对于每一个样本只能有一个类别,类别间是互斥的。例如:分类器判断这只动物是猫、狗、猪,每个样本只能有一种类别,就是一个三分类任务。常用的做法是OVR、softmax多分类多标签学习(Multi-label ):对于每一个样本可能有多个类别(标签)的任务,不像多分类任务...

fengdu78的博客 4866

多标签学习模型(一):Multi Label Knn

1.什么是多标签分类问题 2.传统的KNN算法 3.为什么传统的KNN算法不能够处理多标签问题 4.ML KNN的推导 5.ML KNN是如何解决多标签问题的 6.总结

weixin_42892235的博客 2607

深度学习之多标签图片分类

《深度学习之多标签图片分类(PyTorch版) 》课程从实战的角度出发,基于真实数据集并结合实际业务出发点,介绍深度学习多标签图片分类通用解决方案,通过本课程,彻底掌握多标签图片分类项目。  从0到1讲解如何场景业务分析、进行数据处理,模型训练与调优,最后进行测试与结果展示分析。全程实战操作,以最接地气的方式详解每一步流程与解决方案。  老师的授课风格: 以实战为主,结合理论,让大家彻底掌握图片多标签提取解决方案和项目实战。 

【人工智能】使用Python实现多标签分类:从理论到实践

多标签分类是一种常见的机器学习任务,尤其在自然语言处理、图像处理等领域具有广泛的应用。在多标签分类问题中,每个样本可以同时属于多个标签,而不是像传统的单标签分类那样每个样本只能属于一个标签。本文将详细探讨多标签分类的技术背景、常见的算法与方法,特别是如何使用Python中的`scikit-learn`和`TensorFlow`实现多标签分类模型。我们将通过大量的代码示例,演示如何使用这两种工具构建、训练和评估多标签分类模型。此外,本文还将介绍如何处理多标签数据、如何选择合适的损失函数以及如何优化模型的性能。

一个被知识诅咒的人 1819

【机器学习】对大规模的文本数据进行多标签的分类处理

本文全面探讨了多标签文本分类在自然语言处理中的应用。我们介绍了其背景、重要性、数据预处理、模型构建、训练和评估过程。通过多层感知器模型,结合ReLU和Sigmoid函数,我们实现了高效的多标签分类。模型在测试集上表现良好,展示了其泛化能力。展望未来,多标签文本分类将受益于模型优化、多任务学习和深度学习技术的发展,但同时需重视模型的可解释性和公平性。随着技术的创新,我们期待该技术将在更多领域展现其应用潜力。

MUKAMO的博客 3826

没练过这个项目,怎么做AI工程师?

点击上方“程序人生”,选择“置顶公众号”第一时间关注程序猿(媛)身边的故事从年初起,几家国际大厂的开发者大会,无论是微软Build、Facebook F8还是稍后的Goo...

程序人生的博客 1257

多标签图像分类:标签依赖关系建模的最新论文解读与实战应用

多标签图像分类:标签依赖关系建模的最新论文解读与实战应用 ,人工智能,计算机视觉,大模型,AI,本文解读了最新相关论文,包括基于图神经网络(GCN)的ML-GCN方法,通过构建标签相关矩阵建模依赖关系;区域潜在语义依赖的RLSD模型,定位关键区域并利用RNN建模语义依赖;以及语义图表示学习的SSGRL框架,结合语义解耦与交互模块。通过实战应用,展示了基于PyTorch的ML-GCN模型实现,包括图像特征提取、标签依赖建模及训练评估流程,为多标签图像分类提供了有效解决方案。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 18万+

ccmusic-database/music_genre体验:AI如何听懂音乐的风格

本文介绍了如何在星图GPU平台上一键自动化部署ccmusic-database/music_genre镜像,快速搭建音乐流派分类Web应用。该应用利用AI技术自动识别上传音频的音乐风格,可广泛应用于音乐内容管理、个性化推荐和音乐创作辅助等场景,为用户提供高效准确的音乐分类服务。

weixin_36204513的博客 256

基于深度学习的舌象诊断系统:Python实现与课设避坑指南

图像分类是计算机视觉的基础任务,通过卷积神经网络提取特征并映射到类别标签。迁移学习利用预训练模型解决小样本过拟合问题,在医学图像分析中价值显著。舌象诊断作为中医智能化场景,需先进行舌体分割与颜色校准,再采用多标签分类输出舌质、苔色等证型标签。本文围绕Python与PyTorch,详解从数据构建、模型训练到Flask推理服务的完整链路,并给出置信度校准与按人划分数据集等工程实践,助力课设项目落地。

weixin_28221501的博客 297

R语言分布式滞后非线性模型DLNM实战:空气污染与健康数据的动态效应可视化与政策启示

本文详细介绍了R语言中分布式滞后非线性模型(DLNM)的应用,特别关注空气污染与健康数据的动态效应可视化。通过dlnm包实现PM2.5等污染物的滞后效应分析,提供从数据预处理、模型构建到结果可视化的完整流程,并探讨了其在公共卫生政策制定中的实际应用价值。

weixin_29079643的博客 515

基于Keras的多标签图像分类

原文链接:https://www.pyimagesearch.com/2018/05/07/multi-label-classification-with-keras/ 作者:Adrian Rosebrock 今天介绍的是基于 Keras 实现多标签图像分类,主要分为四个部分: 介绍采用的多标签数据集 简单介绍使用的网络模型 SmallerVGGNet,一个简化版的 VGGNet 实现 Smal...

AI 算法笔记 9295

不用Root也能抓包?Android高版本HTTPS抓包的3种替代方案(含Charles技巧)

本文针对Android高版本HTTPS抓包难题,提供了三种无需Root权限的实战解决方案:利用VirtualXposed等虚拟沙盒环境、配置Postern等系统级代理工具,以及通过修改应用源码或网络安全配置。文章还详细解析了Charles抓包工具在非Root环境下的高级配置与排错技巧,帮助开发者在遵守安全规范的前提下,有效进行网络调试与监控。

http9protocoller的博客 648

【人工智能】多标签图像分类综述

图像分类作为计算机视觉领域的基础任务,经过大量的研究与试验,已经取得了傲人的成绩。然而,现有的分类任务大多是以单标签分类展开研究的。当图片中有多个标签时,又该如何进行分...

湾区人工智能 1877

OpenWrt虚拟机磁盘扩容实战:从SquashFS到ext4的完整避坑指南

本文详细介绍了OpenWrt虚拟机磁盘扩容的完整流程,重点对比了SquashFS和ext4文件系统在扩容操作上的关键差异。通过五步安全迁移法和直接分区调整方案,帮助用户有效解决磁盘空间不足问题,同时提供高级技巧和故障排除指南,确保扩容过程顺利无坑。

weixin_29251131的博客 232

树莓派4B:控制步进电机

文章目录准备阶段接线阶段树莓派程序 准备阶段 准备以下物品,淘宝都可以买到: 57步进电机 电源开关(220v转24v,3A,72W) 步进电机驱动器 电源线 电线 杜邦线 树莓派4B一套 具体型号如下: 接线阶段 整体:接线效果如下图 电源开关起220v转24v作用,很好接线,输出24v接入步进电机驱动器 步进电机驱动器的 A+ A- B+ B- 按提示接步进电机四线,步进电机上就会有说...

学习路上的鸭子的博客 1万+

【深度学习实战—7】:基于Pytorch的多标签图像分类-Fashion-Product-Images

基于深度学习的多标签图像分类,使用时尚产品数据集。工程充分将代码解耦,便于代码管理。

王乐予的博客 4353

华为eNSP与VMware虚拟机联动实战:从零搭建仿真网络环境

本文详细介绍了如何从零开始搭建华为eNSP与VMware虚拟机的联动仿真网络环境。通过环境准备、网络适配器配置、eNSP与VMware网络集成、安全策略与NAT配置等步骤,帮助读者掌握构建企业级网络实验场景的关键技术。这种组合特别适合网络工程师进阶训练和华为认证考试准备,实现低成本、高灵活性的网络仿真实验。

weixin_30415113的博客 504

【项目实战课】基于ResNet的生活用品多标签图像分类实战

欢迎大家来到我们的项目实战课,本期内容是《基于ResNet的多标签图像分类实战》。所谓项目课,就是以简单的原理回顾+详细的项目实战的模式,针对具体的某一个主题,进行代码级的实战讲解。本次主题目前有很多关于多标签的学习算法,依据解决问题的角度,这些算法可以分为两大类:一是基于问题转化的方法,二是基于算法适用的方法。基于问题转化的方法是转化问题数据,使之可以应用现有算法;基于...

hacker_long的专栏 2068

Dell Precision 7920 Tower开机点不亮?别慌,看电源灯闪烁密码快速定位故障(附BIOS恢复指南)

本文详细解析了Dell Precision 7920 Tower工作站开机点不亮时的电源灯闪烁密码,帮助用户快速定位故障。从内存问题到BIOS恢复,再到CPU配置错误,提供了全面的诊断和修复指南,并附有实用的维护建议和工具推荐。

weixin_30892037的博客 487

OpenClaw实现多agent协作研究

本文介绍了如何构建多agent协作系统,通过飞书机器人实现任务分配与执行。系统包含三个agent:research_leader(总调度)、research_content(内容生成)和research_review(内容审核)。详细说明了agent配置方法(包括创建命令、权限设置)、飞书channel绑定方式,以及通过共享目录和会话机制实现协作。最后展示了应用示例,用户只需向leader机器人下达任务,系统即可自动完成内容生成和审核的全流程。

hhue2007的专栏 617

多标签分类 评价指标_多标签分类指标

多标签分类 评价指标Metrics play quite an important role in the field of Machine Learning or Deep Learning. We start the problems with metric selection as to know the baseline score of a particular model. In th...

weixin_26716079的博客 5300

Docker Compose 中如何控制启动顺序和关闭顺序

文章目录Docker Compose 中如何控制启动顺序和关闭顺序1、基础的启动顺序控制2、关于启动就绪和启动顺序的问题3、重试机制和重连4、使用包装器脚本5、自己定义包装器脚本 Docker Compose 中如何控制启动顺序和关闭顺序 1、基础的启动顺序控制 你可以使用 depends_on 选项来控制服务器的启动和关闭顺序 depends_on,links,volumes_from,和ne...

简简单单Onlinezuozuo 3125

Keras进行多标签图像分类(附代码)

本文将通过拆解SmallVGGNet的架构及代码实例来讲解如何运用Keras进行多标签图像分类。

Explore 3438

IMSL CNL 7.0.0 (x86-64)Crack

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

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

【深度学习】分类问题探究(多标签分类转为多个二分类,等)

【深度学习】分类问题探究(多标签分类转为多个二分类,等)

Danger的博客 6415

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

深度学习实战(十一)——多标签分类(基于Keras)

目的: 训练一个分类器来将物品分到不同的类别中,比如一件衣服:可以安照服饰类别、颜色、质地打上“衬衫”、“蓝色”、“棉”的标签 服饰类别:衬衫、裙子、裤子、鞋类等 颜色:红、蓝、黑等 质地:棉、羊毛、丝、麻等 整个工程的步骤如下: 首先讨论多标签分类数据集(以及如何快速构建自己的数据集)。 之后简要讨论SmallerVGGNet,我们将实现的Keras神经网络架构,并...

qq_37764129的博客 6147

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

上一篇: 【人工智能项目】机器学习中文垃圾邮件分类任务
下一篇: 【人工智能项目】深度学习实现汉字书法识别
mind_programmonkey
mind_programmonkey 领域专家: 算法与数据结构技术领域 领域专家: 算法与数据结构技术领域
博客等级 码龄9年 4435粉丝 1111原创
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mind_programmonkey

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值