当前位置: 首页 > news >正文

网站客户留言wordpress+mo主题

网站客户留言,wordpress+mo主题,阿里云如何购买域名,网站psd模板简介: 1.基于VGG16模型进行特征提取, 结合mlp实现猫狗二分类 2.训练数据--dog_cat_class\training_set 3.模型训练流程 1.对图像数据进行导入和预处理 2.搭建模型, 导入VGG16模型, 去除mlp层, 将经过VGG16训练后的数据作为输入, 输入到自建的mlp层中进行训练, 要…简介:  1.基于VGG16模型进行特征提取, 结合mlp实现猫狗二分类 2.训练数据--dog_cat_class\training_set 3.模型训练流程 1.对图像数据进行导入和预处理 2.搭建模型, 导入VGG16模型, 去除mlp层,  将经过VGG16训练后的数据作为输入, 输入到自建的mlp层中进行训练, 要求: hidden layers1, units10, activationrelu out layer:units1, activationsigmoid 3.对模型进行评估和预测 4.随机下载百度的12张猫/狗的图片, 对模型进行实战测试 4.代码实现(推荐直接看第二个, 比较规范) 4.1,   小垃圾写的(我写的) # # 1.数据集导入, 单张图片导入, 可以通过load_image导入 from keras.preprocessing.image import load_img, img_to_array img_pathrC:\Users\鹰\Desktop\ML_Set\dog_cat_class\training_set\dogs\dog.1.jpg img_dataload_img(img_path, target_size(224,224)) img_dataimg_to_array(img_data) # print(img_data.shape) # type(img_data)# 2.模型搭建和模型训练 # 对图像增加一个维度, 然后通过图像预处理, 成为合格的图像输入格式, from keras.applications.vgg16 import preprocess_input import numpy as np x_trainnp.expand_dims(img_data, axis0) # 这里最好换一个名字, 如果接受变量还是img_data的话, 当再一次执行这个代码单元, 会增加数组的维度 x_trainpreprocess_input(x_train) # print(x_train.shape) # 将合格的图片数据输入到VGG16模型中 from keras.applications.vgg16 import VGG16 extract_modelVGG16(include_topFalse, weightsimagenet) img_featuresextract_model.predict(x_train) print(img_features.shape)# 实现对图片的批量读入 import numpy as npfrom keras.applications.vgg16 import VGG16 vggVGG16(include_topFalse, weightsimagenet)from keras.preprocessing.image import load_img, img_to_array from keras.applications.vgg16 import preprocess_input def model_prepro(model, img_path):img_dataload_img(img_path, target_size(224,224))img_arrayimg_to_array(img_data)x_trainnp.expand_dims(img_array, axis0)x_trainpreprocess_input(x_train)x_vggmodel.predict(x_train)x_vggx_vgg.reshape(1, 25088)return x_vggimport os # file_pathrC:\Users\鹰\Desktop\ML_Set\dog_cat_class\training_set\sub_file file_path1rC:\Users\鹰\Desktop\ML_Set\dog_cat_class\training_set\cat img_name_list os.listdir(file_path1)img_list[] for i in img_name_list:if os.path.splitext(i)[1].jpg: img_list.append(i) img_path_list[os.path.join(file_path1, i) for i in img_list] img_feature_array1np.zeros([len(img_path_list), 25088]) for i in range(len(img_path_list)):img_featuremodel_prepro(vgg, img_path_list[i])img_feature_array1[i]img_feature# 显示正在处理的图片print(preprecessing isimg_list[i])##################################################### file_path2rC:\Users\鹰\Desktop\ML_Set\dog_cat_class\training_set\dog img_name_list os.listdir(file_path2)img_list[] for i in img_name_list:if os.path.splitext(i)[1].jpg: img_list.append(i) img_path_list[os.path.join(file_path2, i) for i in img_list] img_feature_array2np.zeros([len(img_path_list), 25088]) for i in range(len(img_path_list)):img_featuremodel_prepro(vgg, img_path_list[i])img_feature_array2[i]img_feature# 显示正在处理的图片print(preprecessing isimg_list[i])print(img_feature_array1.shape, img_feature_array2.shape) y1np.zeros(600) y2np.ones(602) x_allnp.concatenate((img_feature_array1, img_feature_array2), axis0) y_allnp.concatenate((y1, y2), axis0) y_ally_all.reshape(-1,1) print(x_all.shape, y_all.shape) # 分割数据集 from sklearn.model_selection import train_test_split x_train, x_test,y_train, y_test train_test_split(x_all, y_all, test_size0.3, random_state10) print(x_train.shape, x_test.shape, y_train.shape, y_test.shape)# MLP模型搭建和训练 from keras.models import Sequential vgg_modelSequential() from keras.layers import Dense vgg_model.add(Dense(units10, input_dim25088, activationrelu)) vgg_model.add(Dense(units1, activationsigmoid)) vgg_model.compile(optimizeradam, metrics[accuracy], lossbinary_crossentropy) vgg_model.fit(x_train, y_train, epochs50) vgg_model.summary()# # 训练集预测 y_train_predictvgg_model.predict(x_train) y_train_predictnp.argmax(y_train_predict, axis1) print(y_train_predict.shape) # 计算train准确率 from sklearn.metrics import accuracy_score accuracy_scoreaccuracy_score(y_train, y_train_predict) print(accuracy is , accuracy_score)# 测试集预测 y_test_predictvgg_model.predict(x_test) y_test_predictnp.argmax(y_test_predict, axis1) print(y_test_predict.shape) # 计算test准确率 from sklearn.metrics import accuracy_score accuracy_scoreaccuracy_score(y_test, y_test_predict) print(accuracy is , accuracy_score)# # 在网上下载图片, 进行随机测试 from keras.preprocessing.image import load_img, img_to_array pic_animalrC:\Users\鹰\Desktop\DogCat\11.jpg pic_animalload_img(pic_animal, target_size(224,224)) pic_animalimg_to_array(pic_animal) x_trainnp.expand_dims(pic_animal, axis0) x_trainpreprocess_input(x_train) # 特征提取 featuresvgg.predict(x_train) xfeatures.reshape(1, -1) print(x.shape) print(features.shape) y_predictvgg_model.predict(x) import numpy as np y_predictnp.argmax(y_predict, axis1) print(result is :, y_predict) # 结果为0--猫, 结果为1--狗 结果是... 4.2: 千问大模型修改后的 import numpy as np from keras.preprocessing.image import load_img, img_to_array from keras.applications.vgg16 import preprocess_input, VGG16 from sklearn.model_selection import train_test_split from keras.models import Sequential from keras.layers import Dense from sklearn.metrics import accuracy_score import os# 1. 数据集导入, 单张图片导入, 可以通过load_image导入 img_path rC:\Users\鹰\Desktop\ML_Set\dog_cat_class\training_set\dogs\dog.1.jpg img_data load_img(img_path, target_size(224, 224)) img_data img_to_array(img_data) print(Single image shape:, img_data.shape)# 2. 模型搭建和模型训练 def model_prepro(model, img_path):img_data load_img(img_path, target_size(224, 224))img_array img_to_array(img_data)x_train np.expand_dims(img_array, axis0)x_train preprocess_input(x_train)x_vgg model.predict(x_train)x_vgg x_vgg.reshape(1, -1)return x_vgg# 加载 VGG16 模型 vgg VGG16(include_topFalse, weightsimagenet)# 处理 cat 文件夹 file_path1 rC:\Users\鹰\Desktop\ML_Set\dog_cat_class\training_set\cat img_name_list os.listdir(file_path1) img_list [i for i in img_name_list if os.path.splitext(i)[1].lower() .jpg] img_path_list [os.path.join(file_path1, i) for i in img_list] img_feature_array1 np.zeros([len(img_path_list), 25088]) for i in range(len(img_path_list)):img_feature model_prepro(vgg, img_path_list[i])img_feature_array1[i] img_featureprint(fProcessing: {img_list[i]} (Cat))# 处理 dog 文件夹 file_path2 rC:\Users\鹰\Desktop\ML_Set\dog_cat_class\training_set\dog img_name_list os.listdir(file_path2) img_list [i for i in img_name_list if os.path.splitext(i)[1].lower() .jpg] img_path_list [os.path.join(file_path2, i) for i in img_list] img_feature_array2 np.zeros([len(img_path_list), 25088]) for i in range(len(img_path_list)):img_feature model_prepro(vgg, img_path_list[i])img_feature_array2[i] img_featureprint(fProcessing: {img_list[i]} (Dog))print(Feature array shapes:, img_feature_array1.shape, img_feature_array2.shape)# 创建标签 y1 np.zeros(len(img_feature_array1)) y2 np.ones(len(img_feature_array2))# 合并特征和标签 x_all np.concatenate((img_feature_array1, img_feature_array2), axis0) y_all np.concatenate((y1, y2), axis0) y_all y_all.reshape(-1, 1) print(Combined data shapes:, x_all.shape, y_all.shape)# 分割数据集 x_train, x_test, y_train, y_test train_test_split(x_all, y_all, test_size0.3, random_state10) print(Data split shapes:, x_train.shape, x_test.shape, y_train.shape, y_test.shape)# MLP模型搭建和训练 vgg_model Sequential() vgg_model.add(Dense(units128, input_dim25088, activationrelu)) vgg_model.add(Dense(units64, activationrelu)) vgg_model.add(Dense(units1, activationsigmoid)) vgg_model.compile(optimizeradam, metrics[accuracy], lossbinary_crossentropy) vgg_model.fit(x_train, y_train, epochs100, batch_size32, validation_data(x_test, y_test)) vgg_model.summary()# 训练集预测 y_train_predict vgg_model.predict(x_train) y_train_predict (y_train_predict 0.5).astype(int) # 使用阈值 0.5 进行二分类 print(Train prediction shape:, y_train_predict.shape)# 计算train准确率 train_accuracy accuracy_score(y_train, y_train_predict) print(Train accuracy is:, train_accuracy)# 测试集预测 y_test_predict vgg_model.predict(x_test) y_test_predict (y_test_predict 0.5).astype(int) # 使用阈值 0.5 进行二分类 print(Test prediction shape:, y_test_predict.shape)# 计算test准确率 test_accuracy accuracy_score(y_test, y_test_predict) print(Test accuracy is:, test_accuracy)# 在网上下载图片, 进行随机测试 pic_animal rC:\Users\鹰\Desktop\DogCat\11.jpg pic_animal load_img(pic_animal, target_size(224, 224)) pic_animal img_to_array(pic_animal) x_train np.expand_dims(pic_animal, axis0) x_train preprocess_input(x_train)# 特征提取 features vgg.predict(x_train) x features.reshape(1, -1) print(Feature shape:, x.shape) print(Feature shape before reshape:, features.shape)# 预测 y_predict vgg_model.predict(x) y_predict (y_predict 0.5).astype(int) # 使用阈值 0.5 进行二分类 print(Prediction result is:, 猫 if y_predict[0][0] 0 else 狗) 结果是... 这对我的心灵的伤害是百分百的暴击, 我的是反面教材........ 想要看正版规范代码, 就看第二个,     当然,  如果觉得50%的成功率还行的话,   那我的勉强也能看 兄弟们不嫌弃的话, 也可以看看,     吸取一下经验教训, 看个乐子 5.扩展 扩展1: keras.models 模块中的主要组成部分: 1.Sequential 模型是一种线性堆叠的层结构适用于大多数简单的神经网络 2.Functional API 是一种更灵活的模型构建方式允许创建复杂的非线性拓扑结构 扩展2: keras.applications 导入 VGG16 时你可以得到以下主要部分 VGG16 Model: 这是整个 VGG16 网络模型可以直接用来进行预测或者作为迁移学习的基础。 Preprocess Input: 一个函数用于对输入图像数据进行预处理以便与 VGG16 模型兼容。实现:from keras.applications.vgg16 import preprocess_input。 Decode Predictions: 一个函数用于将 VGG16 模型的输出转换为人类可读的标签。实现:from keras.applications.vgg16 import decode_predictions。 Weights: 预训练的权重文件。这些权重是在 ImageNet 数据集上训练得到的可以帮助你在自己的任务上快速获得较好的性能。 6.数据集链接: 官网: Cat and Dog | KaggleCats and Dogs dataset to train a DL modelhttps://www.kaggle.com/datasets/tongpython/cat-and-dog?resourcedownload 百度网盘分享: 链接https://pan.baidu.com/s/1T1mymwIqOOF3MKfWxRtnpQ  提取码6axn
http://www.w-s-a.com/news/802984/

相关文章:

  • 网站建设了解眉山网站优化
  • 做网站用php还是node如何申请网站域名流程
  • 销售公司怎么做网站删除wordpress
  • 毕节网站怎么做seohtml代码特效银河系
  • 淄博品质网站建设网站引导页案例
  • 网站建设虚拟空间小豹子韬韬是哪个网站做的
  • 网络司网站如何建立公司网站建议和规则
  • 织梦网站模板后台密码找回企业vi设计公司性价比高
  • php 爬取网站所有链接传奇手游发布网站
  • 免费软文网站wordpress中文名注册
  • 企业网站建设研究目的意义怎样设计一个公司网站
  • 怎么架构网站便民信息发布平台
  • 网站 建设 现状网站推广合同需要缴纳印花税吗
  • 熊猫头表情包制作网站wordpress 缺省目录
  • 网站浏览图片怎么做的群晖wordpress升级5.0
  • 25个优秀个人网站设计模板网站建设定位分析论文
  • 在线网站备案站长seo综合查询工具
  • 网站根 html网站建设行业数据
  • 网站公司做的网站有最字设计说明室内设计
  • 在线网站代码生成我想做个百度网站怎么做
  • 网站的建设费用分为长治市建设厅官方网站
  • 做网站都有哪些费用建设免费手机网站
  • 网站 组成代码做网站图片怎么插
  • 2020中国企业500强榜单南宁seo标准
  • 北美购物网站排名烟台专业的网站建站公司
  • 门户网站设计特点营销策划咨询机构
  • 天津做网站就到徽信xiala5中国营销型网站
  • 外汇网站建设制作深圳三站合一网站建设
  • 深圳坂田网站设计公司有哪些学校网站建设管理办法
  • 太原建设银行网站中山营销型网站设计