ImgSo以图搜图系统官方正版授权

ImgSo以图搜图系统是一款wordpress插件。它兼容任何wordpress主题,让你的网站完美匹配使用。

ImgSo是一款专业级的以图搜图利用人工智能深度学习算法,根据原始图片的颜色分布、几何形状、纹理等视觉特征找到相同或相似的图片诸多主流图像搜索引擎纷纷引入了以图搜图。

 

# 以图搜图基本流程
# 
import os
import sys
import glob
import argparse
import matplotlib.pyplot as plt

from keras.applications.inception_v3 import InceptionV3, preprocess_input
from keras.models import Model
from keras.layers import Dense, GlobalAveragePooling2D
from keras.preprocessing.image import ImageDataGenerator
from keras.optimizers import SGD

# 一、定义函数
IM_WIDTH, IM_HEIGHT = 299, 299   # inceptionV3 指定图片尺寸
FC_SIZE = 1024                   # 全连接层的数量

# 二、数据处理
# 图片归类放在不同文件夹下
train_dir = \'E:/Project/Image/data/finetune/train\'  # 训练集数据
val_dir = \'E:/Project/Image/data/finetune/test\' # 验证集数据
nb_epoch = 1
batch_size = 15
nb_classes = len(glob.glob(train_dir + "/*"))  # 分类数


# 图片增强
# ImageDataGenerator 会自动根据路径下的文件夹创建标签,所以在代码中只看到输入的 x, 看不到 y
train_datagen = ImageDataGenerator(
    preprocessing_function=preprocess_input,
    rotation_range=30,
    width_shift_range=0.2,
    height_shift_range=0.2,
    shear_range=0.2,
    zoom_range=0.2,
    horizontal_flip=True
)

train_generator = train_datagen.flow_from_directory(
    train_dir, target_size=(IM_WIDTH, IM_HEIGHT),batch_size=batch_size, class_mode=\'categorical\'
)

validation_generator = train_datagen.flow_from_directory(
    val_dir, target_size=(IM_WIDTH, IM_HEIGHT),batch_size=batch_size, class_mode=\'categorical\'
)

#
# 添加新层函数
def add_new_last_layer(base_model, nb_classes):
    x = base_model.output
    x = GlobalAveragePooling2D()(x) # 下采样
    x = Dense(FC_SIZE, activation=\'relu\')(x)
    predict_bottle_feat = Dense(nb_classes, activation=\'softmax\')(x)
    model = Model(input=base_model.input, output=predict_bottle_feat)
    return model

# 冻结 base_model 所有层
def setup_to_transfer_learn(model, base_model):
    for layer in base_model.layers:
        layer.trainable = False
    model.compile(optimizer=\'rmsprop\', loss=\'categorical_crossentropy\', metrics=[\'accuracy\'])

# 定义网络框架
base_model = InceptionV3(weights=\'imagenet\', include_top=False)
model = add_new_last_layer(base_model, nb_classes)
setup_to_transfer_learn(model, base_model)

# 训练
# 模式一训练
steps = 20 # 可以自由定义,越大结果越精准,但过大容易过拟合
history_tl = model.fit_generator(
  train_generator,
  epochs=nb_epoch,
  steps_per_epoch=steps,
  validation_data=validation_generator,
  validation_steps=steps,
  class_weight=\'auto\')

# 保存模型
model.save("my_inceptionV3.h5")

 

本站资源标价偏低,并非源码质量不好。质量均已测试可靠。
源码免费。标价只是整理费。

1. 本站所有资源来源于网络和用户上传,如有侵权请联系站长。
2. 本站分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,商用请支持正版!不得违反国家法律,否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
特别说明:本站所有资源仅供学习与参考,资源是免费分享的,标价是整理费。请勿用于商业用途,如有侵犯您的版权,请及时发邮件联系我们(243574967@qq.com),我们将尽快处理。

觉得文章有用就支持一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

分享到:
赞(0) 赞赏支持

说点什么抢沙发

ImgSo以图搜图系统由 http://sjoneone.com 提供技术支持。 技术支持联系官方QQ243574967