深度学习的实战项目能做什么

2020-08-01 20:47发布

2条回答
Anonyem
2楼 · 2020-08-03 17:31

    实战项目一:人脸识别打卡

     

    随着人工智能时代的到来,各大厂纷纷投入大量的人力物力进军人工智能领域。学习掌握大厂AI技术,可以使我们更快捷的实现业务场景智能化。本次人工智能培训主要介绍了百度AI的三大平台:机器学习平台、深度学习平台、人工智能平台,并对人工智能平台包含的三大主流技术:图像、语音、自然语言处理进行了深入讲解,最后以人脸识别打卡案例,详细讲解了项目架构设计和开发流程。学完本课程,不仅可以掌握图像、语音和自然语言处理API的使用,而且可以利用API实现具体应用的开发。

     

    实战项目二:商品物体检测

     

    物体检测是计算机视觉中最常见应用之一,有极为广泛的用途。本课程从目标检测算法出发,对各个算法进行了全面细致的讲解,然后讲解了数据集标记与处理的相关内容,最后以一个实战项目商品物体检测为例,讲解了整个项目的架构设计,以及整个项目的开发流程。学完本课程不仅可以掌握目标检测算法的原理、模型训练工具的使用,而且可以掌握利用TensorFlow Serving完成模型部署以及客户端编写能力。

     

    实战项目三:AI游戏

     

    这是一门最适合初学者的人工智能培训课程,本课程是针对人工智能感兴趣的零基础学习者研发的快速入门级课程,本着以深入浅出、通俗易懂的讲解形式;清晰丰富的内容体系:神经网络结构,激活函数,神经元,卷积神经网络,监督学习,无监督学习,以及Tensorflow的框架知识、语法结构和综合应用;有趣丰富的游戏案例设计:飞机投弹、坦克开炮、射箭、走迷宫等游戏为教学宗旨,带你轻松踏入人工智能的神秘领域。

     

    实战项目四:PyTorch经典项目

     

    深度学习框架PyTorch实战项目旨在,帮助同学们快速掌握PyTorch框架核心模块使用方法与项目应用实例,让同学们熟练使用PyTorch框架进行项目开发。人工智能培训内容全部以实战为导向,基于当下计算机视觉与自然语言处理中经典项目进行实例讲解,通过Debug模式详解项目中每一行代码的作用与效果。

     

    实战项目五:Tensorflow深度学习

     

    Tensorflow是谷歌开源的深度学习(包括机器学习)框架,伴随着人工智能业的兴盛其大名早已响彻云霄。本门人工智能培训课程从Tensorflow安装开始讲起,从基本计算结构到深度学习各大神经网络,全程案例代码实战,一步步带大家入门如何使用深度学习框架Tensorlow,玩转Tensorflow模型训练等所有知识点。


卡卡
3楼 · 2020-10-22 10:37






垃圾分类,指按一定规定或标准将垃圾分类储存、分类投放和分类搬运,从而转变成公共资源的一系列活动的总称。分类的目的是提高垃圾的资源价值和经济价值,力争物尽其用;然而我们在日常生活中认为对垃圾分类还是有些不知所措的,对干垃圾、湿垃圾……分的不是很清楚,由此我们就想到了使用深度学习的方法进行分类。


简介

本篇博文主要会带领大家进行数据的预处理、网络搭建、模型训练、模型测试

  1. 获取数据集这里笔者已经为大家提供了一个比较完整的数据集,所以大家不必再自己去收集数据了数据集链接:https://pan.baidu.com/s/1OhA7yQt9evqNIP5CIPjdgw提取码:Z5A1如下为数据集中的部分数据展示这里就不过多的展示了,因为有些图片比较的不雅ok,不说题外话了,我们继续

  2. 2.预处理数据集

  3. importtorch,visdom,time

  4. importos,csv,random,glob

  5. fromPILimportImage

  6. fromtorchvisionimporttransforms

  7. fromtorch.utils.dataimportDataLoader,Dataset

classData(Dataset):

def__init__(self,root,resize,model):

super(Data,self).__init__()

self.root=root

self.resize=resize


#dividingdata

ifmodel=='train':

self.images=self.images[:int(0.6*len(self.images))]

self.labels=self.labels[:int(0.6*len(self.labels))]

ifmodel=='verify':

self.images=self.images[int(0.6*len(self.images)):int(0.8*len(self.images))]

self.labels=self.labels[int(0.6*len(self.labels)):int(0.8*len(self.labels))]

else:

self.images=self.images[int(0.8*len(self.images)):]

self.labels=self.labels[int(0.8*len(self.labels)):]

defmain():

#showdata

viz=visdom.Visdom()

db=Data('data',64,'train')


x,y=next(iter(db))

print('sample:',x.shape,y.shape,y)


viz.image(db.normalize(x),win='sample_x',opts=dict(title='sample_x'))


if__name__=='__main__':

main()


这里需要对数据进行增强,增强的最终结果如下图所示:

搭建网络接下来进行搭建网络了,笔者这里使用的是resnet的网络结构

importtorch

fromtorchimportnn

fromtorch.nnimportfunctionalasF

classResBlk(nn.Module):


def__init__(self,ch_in,ch_out,stride=1):


super(ResBlk,self).__init__()


self.conv1=nn.Conv2d(ch_in,ch_out,kernel_size=3,stride=stride,padding=1)

self.bn1=nn.BatchNorm2d(ch_out)

self.conv2=nn.Conv2d(ch_out,ch_out,kernel_size=3,stride=1,padding=1)

self.bn2=nn.BatchNorm2d(ch_out)


self.extra=nn.Sequential()

ifch_out!=ch_in:

#[b,ch_in,h,w]=>[b,ch_out,h,w]

self.extra=nn.Sequential(

nn.Conv2d(ch_in,ch_out,kernel_size=1,stride=stride),

nn.BatchNorm2d(ch_out)

)

classResNet18(nn.Module):


def__init__(self,num_class):

super(ResNet18,self).__init__()


self.conv1=nn.Sequential(

nn.Conv2d(3,16,kernel_size=3,stride=3,padding=0),

nn.BatchNorm2d(16)

)

#followed4blocks

#[b,16,h,w]=>[b,32,h,w]

self.blk1=ResBlk(16,32,stride=3)

#[b,32,h,w]=>[b,64,h,w]

self.blk2=ResBlk(32,64,stride=3)

##[b,64,h,w]=>[b,128,h,w]

self.blk3=ResBlk(64,128,stride=2)

##[b,128,h,w]=>[b,256,h,w]

self.blk4=ResBlk(128,256,stride=2)


self.outlayer=nn.Linear(256*3*3,num_class)


defforward(self,x):


returnx


defmain():


if__name__=='__main__':

main()



训练

importtorch

fromtorchimportoptim,nn

importvisdom

importtorchvision

fromtorch.utils.dataimportDataLoader


fromData_PreimportData

#fromresnetimportResNet18

fromtorchvision.modelsimportresnet18


fromutilsimportFlatten


batchsz=32

lr=1e-3

epochs=20


device=torch.device('cuda')

torch.manual_seed(1234)


train_db=Data('data',224,model='train')

val_db=Data('data',224,model='verify')

test_db=Data('data',224,model='test')

train_loader=DataLoader(train_db,batch_size=batchsz,shuffle=True,

num_workers=4)

val_loader=DataLoader(val_db,batch_size=batchsz,num_workers=2)

test_loader=DataLoader(test_db,batch_size=batchsz,num_workers=2)


viz=visdom.Visdom()


defevalute(model,loader):

model.eval()


correct=0

total=len(loader.dataset)


forx,yinloader:

x,y=x.to(device),y.to(device)

withtorch.no_grad():

logits=model(x)

pred=logits.argmax(dim=1)

correct+=torch.eq(pred,y).sum().float().item()

returncorrect/total


可视化训练结果可以看到经过次的迭代后,模型的效果还是不错的,哈哈哈哈哈。。。。。。。5.测试模型项目完整代码:https://github.com/huzixuan1/classification有什么问题欢迎同笔者讨论:1017190168最后希望大家能够动手实践实践


相关问题推荐

  • 回答 20

    选对培训机构比较重要,还有就是选择的时候看一下自己适合哪种风格的讲课方式,这个也很重要。因为现在5G时代来临,人工智能绝对是一个发展的大趋势,如果你自己空余时间又比较多的话,其实可以报一个辅导班,学习学习一些基本的东西,毕竟多学点总是没有坏处...

  • 回答 3

    深度学习是近几年人工智能领域的主要研究方向。深度学习的主要任务是通过构建深度卷积神经网络(Deep Neural Network,DNN)和采用大量样本数据作为输入,人们最终会得到一个具有强大分析能力和识别能力的模型,该模型包含了DNN的构成参数以应用于实际工作。...

  • 回答 3

    AI深度学习课程是用于建立、模拟人脑进行分析学习的神经网络,并模仿人脑的机制来解释数据的一种机器学习技术,主要应用于图像识别、语音识别、自然语言处理等领域。学完可以从事深度学习工程师、机器学习工程师、人工智能工程师、高级算法工程师、高级算法工...

  • 回答 16

    算法,数据相关的适合做人工智能

  • 回答 28

    人工智能取代的行业,一定有如下几个特征:1、大量重复型。2、逻辑性比较强。3、数据库依赖型。像司机,咨询,教育,医生,会计,律师助理,工程师,码农等,都是容易被取代的行业。当然,这都是强人工智能以后会发生的事,现在还是弱人工智能的时代,想进入...

  • 回答 9

    如果你是自己学着玩,提升自己的话,高中毕业都可以。如果是冲着AI算法岗或者科研一席之地,至少211硕士。具体可以亲身体验一下今年算法岗秋招。

  • 回答 9

    可以,未来的人工智能发展深度学习必然是现在大型机器生产科研必备的,证书的话某个培训好像有这个中科院的证书,具体你去百度吧

  • 回答 8

    我觉得就是人工智能的课程,现在家具都是智能家居了。这一块发展一定很好

  • 回答 3

    对于sgd算法而言,batch size太大太小都不好,太小的话训练不稳定,计算效率低;太大的话收敛速度慢,需要仔细调节一下。以2的倍数调节,例如32,64,128等

  • 回答 1

    在terminal中输入$wolf@wolf:~/Downloads/gitclonehttps://github.com/Tencent/ncnn cd切换到NCNN目录***这步很重要,这时候需要修改ncnn的root目录下的CMakeLists.txt文件,需要将倒数几行的add_subdirectory(examples),取消注释,这样就是默认编译example...

  • 回答 5

    人工智能的话其实到现在来说已经慢慢趋于成熟,学的话首先是一线城市,学出来好就业,还有就是薪资也高

  • 回答 3

    画个train and test error VS 训练数据量(training set size) 的learningcurve应该会更加直观了。可以找个简单的数据集,比如说handwritten digits或者什么的,分别用神经网络和决策树或者knn做出这个learningcurve。你会看到如果用一个决策树去解决这个问题...

  • 回答 2

    共生矩阵用两个位置的象素的联合概率密度来定义,它不仅反映亮度的分布特性,也反映具有同样亮度或接近亮度的象素之间的位置分布特性,是有关图象亮度变化的二阶统计特征。它是定义一组纹理特征的基础。     一幅图象的灰度共生矩阵能反映出图象灰度关于...

没有解决我的问题,去提问