使用Inception-v3迁移 花数据集

本文介绍了如何使用Inception-v3模型进行迁移学习,应用于花数据集。首先从官方渠道下载Inception-v3的包,接着分别讲解了特征处理、模型训练提取和模型显示的代码实现,读者可以根据自己的数据路径进行调整。
摘要由CSDN通过智能技术生成

首先可以上官网下载inceptio-v3的包:

代码可以分为三种:

1.特征处理

import warnings
warnings.filterwarnings("ignore")
import tensorflow as tf
import os
os.environ["TF_CPP_MIN_LOG_LEVEL"]='2'
tf.compat.v1.logging.set_verbosity(40)

import pickle
import numpy as np
from sklearn.model_selection import train_test_split

def sep(label = '', cnt=32):
    print('-' * cnt, label, '-' * cnt, sep='')

tf.random.set_random_seed(1)
np.random.seed(1)

VER = 'v7.0'
FILE_NAME = os.path.basename(__file__)
SAVE_DIR = os.path.join('_save', FILE_NAME, VER)
SAVE_NAME = 'bottleneck.pickle'

# Inception-v3模型瓶颈层的节点个数
BOTTLENECK_TENSOR_SIZE = 2048

# Inception-v3模型中代表瓶颈层结果的张量名称。
# 在谷歌提出的Inception-v3模型中,这个张量名称就是'pool_3/_reshape:0'。
# 在训练模型时,可以通过tensor.name来获取张量的名称。
BOTTLENECK_TENSOR_NAME = 'pool_3/_reshape:0'

# 图像输入张量所对应的名称。
JPEG_DATA_TENSOR_NAME = 'DecodeJpeg/contents:0'

# 下载的谷歌训练好的Inception-v3模型文件目录
MODEL_DIR = '../../Data2/Qian_data/inception_dec_2015'

# 下载的谷歌训练好的Inception-v3模型文件名
MODEL_FILE = 'tensorflow_inception_graph.pb'

# 因为一个训练数据会被使用多次,所以可以将原始图像通过Inception-v3模型计算得到的特征向量保存在文件中,免去重复的计算。
# 下面的变量定义了这些文件的存放地址。
CACHE_DIR = './bottleneck/'

# 图片数据文件夹。
# 在这个文件夹中每一个子文件夹代表一个需要区分的类别,每个子文件夹中存放了对应类别的图片。
path = '../../Data2/Qian_data/flower_photos/'
INPUT_DATA = path

# 验证的数据百分比
VALIDATION_PERCENTAGE = 10
# 测试的数据百分比
TEST_PERCENTAGE = 10

# 定义神经网络的设置
LEARNING_RATE = 0.01
STEPS = 40
GROUP = 5
BATCH = 100

sep('load model')
with open(os.path.join(MODEL_DIR, MODEL_FILE), 'rb') as f:#从pb文件中调用
    graph_def = tf.GraphDef()
    graph_def.ParseFromString(f.read())
# 加载读取的Inception-v3模型,并返回数据输入所对应的张量以及计算瓶颈层结果所对应的张量。
                                                    # 通过名称和下标来得到相应的值
bottleneck_tensor, jpeg_data_tensor = tf.import_graph_def(graph_def,
                                                          return_elements=[
                                                  
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值