autokeras应用系列(1):入门测试

部分摘自 https://www.cnblogs.com/hutao722/p/9553526.html , 根据我的实际情况有更改

我们在构建自己的神经网络模型时,往往会基于预编译模型上进行迁移学习。但不同的训练数据、不同的场景下,各个模型表现不一,需要投入大量的精力进行调参,耗费相当多的时间才能得到自己满意的模型。

而谷歌近期推出了AutoML,可以帮助人们在给定数据下自动找寻最优网络模型,可谓让不是专业的人也可以轻松构建合适自己的网络模型,但唯一的问题是太贵了,每小时收费20美元啦。

幸好开源界也推出了autokeras,让我们一众屌丝也可以享受这免费的待遇,其官网是 https://autokeras.com/

官网的文档和样例目前不是很详细,我研究了一番,写篇简单的入门贴,供大家参考。

一、 准备数据

先下载训练和测试数据集,下载地址为 http://pan.baidu.com/s/1nuqlTnN, 总共500张图片,其中100张为测试数据,400张为训练数据,图片分为’bus’, ‘dinosaur’, ‘flower’, ‘horse’, 'elephant’五类,分别以以3,4,5,6,7开头进行按类区分

按照autokers的要求,我们需要做一个csv文件,记录图片与所属标签的映射关系,可以用如下代码生成:

import os
import csv
 
TRAIN_IMG_DIR = 'E:/autokeras/test/re/re/train'
TRAIN_CSV_DIR = 'E:/autokeras/test/re/re/train_labels.csv'
TEST_IMG_DIR = 'E:/autokeras/test/re/re/test'
TEST_CSV_DIR = 'E:/autokeras/test/re/re/test_labels.csv'
 
def mkcsv(img_dir, csv_dir):
    list = []
    list.append(['File Name','Label'])
    for file_name in os.listdir(img_dir):
        if file_name[0] == '3':   #bus
            item = [file_name, 0]
        elif file_name[0] == '4': #dinosaur
            item = [file_name, 1]
        elif file_name[0] == '5': #elephant
            item = [file_name, 2]
        elif file_name[0] == '6': #flower
            item = [file_name, 3]
        else:
            item = [file_name, 4] #horse
        list.append(item)
 
    print(list)
    f = open(csv_dir, 'w', newline='')
    writer = csv.writer(f)
    writer.writerows(list)
 
mkcsv(TRAIN_IMG_DIR, TRAIN_CSV_DIR)
mkcsv(TEST_IMG_DIR, TEST_CSV_DIR)

输出部分如下:
在这里插入图片描述
此时会生成两个新的文件:
在这里插入图片描述

二、 格式化图片

训练和测试图片的大小不一,需要统一转换成相同的格式才能被autokeras处理,可用如下代码处理:

from tensorflow.keras.preprocessing import image
import os

TEST_IMG_DIR_INPUT = "E:/autokeras/test/re/re/test_origin"
TEST_IMG_DIR_OUTPUT = "E:/autokeras/test/re/re/test"
TR
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值