深度学习图片分类实战学习

开始记录学习深度学习的点点滴滴


前言

随着人工智能的不断发展,这门技术也越来越重要,很多人都开启了学习人工智能,本人开始记录学习人工智能的点点滴滴。


一、深度学习

深度学习的概念在网上已经能够搜到很多内容了,这里主要介绍和记录以下相关可以实际运行的代码,对深度学习的实际操作进行深入理解,对出现的问题记录以下。我先从图像分类开始学习深度学习。

二、使用步骤

1. 自建网络模型

这里记录了第一个深度学习示例。

图片的搜索可以从深度学习的网站下载,这里我用scrapy爬虫爬取的。图片目录按照以下方式设置:在这里插入图片描述
在这里插入图片描述
这里我的图片包括战斗机、直升飞机和舰船,其中战斗机文件名都为Fighter_X.jpg,直升飞机的文件名标识为Helicopter_X.jpg,舰船的飞机名标识为Ship_X.jpg。

1. 读取文件的代码如下:

import cv2
import numpy as np
import pandas as pd
import matplotlib.image as npimg
import matplotlib.pyplot as plt

import os
import random
import gc


train_dir = 'input/train'  # 训练集数据
val_dir = 'input/test' # 验证集数据

test_imgs = ['input/test/{}'.format(i) for i in os.listdir(val_dir)]
train_imgs = ['input/train/{}'.format(i) for i in os.listdir(train_dir)]

random.shuffle(train_imgs)  ###图片乱序,这对学习很重要。

for ima in train_imgs[0:10]:
    img = npimg.imread(ima)
    imgplot = plt.imshow(img)
    plt.show()

nrows = 224
ncoloumns = 224
channel = 3

def read_and_process_image(list_imgs):
     X = []
     y = []

     for image in list_imgs:
         X.append(cv2.resize(cv2.imread(image,cv2.IMREAD_COLOR),(nrows,ncoloumns),interpolation=cv2.INTER_CUBIC))
         if 'Fighter' in image:
             y.append(0)
         elif 'Helicopter' in image:
             y.append(1)
   return X,y


 X,y = read_and_process_image(train_imgs)

 plt.figure(figsize=(20,10))
 columns = 5
 for i in range(columns):
     plt.subplot(5/columns+1,columns,i+1)
     plt.imshow(X[i])```

from sklearn.model_selection import train_test_split

del train_imgs
gc.collect()

X = np.array(X)
y = np.array(y)

print("Shape of train set:", X.shape)
print("Shape of label set:"
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值