every blog every motto:

0. 前言

10 monkeys 基础模型搭建与训练

1. 代码部分

1. 导入模块

%matplotlib inline
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import sklearn
import os,sys
import tensorflow as tf
import time
from tensorflow import kerasprint(tf.__version__)
print(sys.version_info)
for module in mpl,pd,sklearn,tf,keras:print(module.__name__,module.__version__)

2. 读取数据

# 文件路径
train_dir = '../input/10-monkey-species/training/training'
valid_dir = "../input/10-monkey-species/validation/validation"
label_file = '../input/10-monkey-species/monkey_labels.txt'
print(os.path.exists(train_dir))
print(os.path.exists(valid_dir))
print(os.path.exists(label_file))
print(os.listdir(train_dir))
print(os.listdir(valid_dir))
# 读取数据
labels = pd.read_csv(label_file,header=0)
print(labels)

3. 读取图片

# 读取图片
height = 128
width = 128
channels = 3
batch_size = 64
num_classes = 10train_datagen = keras.preprocessing.image.ImageDataGenerator(
rescale = 1. / 255,rotation_range=40,width_shift_range=0.2,height_shift_range = 0.2,shear_range=0.2,zoom_range=0.2,horizontal_flip = True,fill_mode = 'nearest',
)
train_generator = train_datagen.flow_from_directory(train_dir,target_size=(height,width),batch_size=batch_size,seed=7,shuffle=True,class_mode="categorical")valid_datagen = keras.preprocessing.image.ImageDataGenerator(rescale=1./255)
valid_generator = valid_datagen.flow_from_directory(valid_dir,target_size=(height,width),batch_size=batch_size,seed=7,shuffle=False,class_mode="categorical")train_num = train_generator.samples
valid_num = valid_generator.samples
print(train_num,valid_num)
# 读取数据
for i in range(2):x,y = train_generator.next()print(x.shape,y.shape)print(y)

4. 构建模型

model = keras.models.Sequential([keras.layers.Conv2D(filters=32,kernel_size=3,padding='same',activation='relu',input_shape=[width,height,channels]),keras.layers.Conv2D(filters=32,kernel_size=3,padding='same',activation='relu'),keras.layers.MaxPool2D(pool_size=2),keras.layers.Conv2D(filters=64,kernel_size=3,padding='same',activation='relu'),keras.layers.Conv2D(filters=64,kernel_size=3,padding='same',activation='relu'),keras.layers.MaxPool2D(pool_size=2),keras.layers.Conv2D(filters=128,kernel_size=3,padding='same',activation='relu'),keras.layers.Conv2D(filters=128,kernel_size=3,padding='same',activation='relu'),keras.layers.MaxPool2D(pool_size=2),# 展平keras.layers.Flatten(),keras.layers.Dense(128,activation='relu'),keras.layers.Dense(num_classes,activation='softmax'),
])model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])
model.summary()

5. 训练

epochs = 10
history = model.fit_generator(train_generator,steps_per_epoch = train_num // batch_size,epochs=epochs,validation_data = valid_generator,validation_steps=valid_num // batch_size)
print(history.history.keys())

6. 学习曲线

# 学习曲线
def plot_learning_curves(hsitory,label,epochs,min_value,max_value):data = {}data[label] = history.history[label]data['val_' + label] = hsitory.history['val_' + label]pd.DataFrame(data).plot(figsize=(8,5))plt.grid(True)plt.axis([0,epochs,min_value,max_value])plt.show()plot_learning_curves(history,'accuracy',epochs,0,1)
plot_learning_curves(history,'loss',epochs,0,2.5)

从零基础入门Tensorflow2.0 ----六、30 kaggle 10 monkeys 基础模型搭建与训练相关推荐

  1. diskgeniusv4.4.0_入门TensorFlow2.0

    今天老师带领我们入门TensorFlow2.0.至于tensorflow2.0是啥嘛,详细的可以度娘一下.我简述一下,就是一个end-to-end machine-Learning open sour ...

  2. Android基础入门教程——7.6.1 Socket学习网络基础准备

    Android基础入门教程--7.6.1 Socket学习网络基础准备 标签(空格分隔): Android基础入门教程 本节引言: 为了照顾没学过Java Socket的初学者,或者说捋一捋Andro ...

  3. 视频编码零基础入门(0):零基础,史上最通俗视频编码技术入门

    [来源申明]本文引用了微信公众号"鲜枣课堂"的<视频编码零基础入门>文章内容.为了更好的内容呈现,即时通讯网在引用和收录时内容有改动,转载时请注明原文来源信息,尊重原作 ...

  4. 【天池赛事】零基础入门语义分割-地表建筑物识别 Task6:分割模型模型集成

    [天池赛事]零基础入门语义分割-地表建筑物识别 Task1:赛题理解与 baseline(3 天) – 学习主题:理解赛题内容解题流程 – 学习内容:赛题理解.数据读取.比赛 baseline 构建 ...

  5. 跟艾文学编程《零基础入门学Python》(1)Python 基础入门

    作者: 艾文,计算机硕士学位,企业内训讲师和金牌面试官,现就职BAT一线大厂公司资深算法专家. 邮箱: 1121025745@qq.com 博客:https://wenjie.blog.csdn.ne ...

  6. EGE基础入门篇(六):基本图形

    EGE专栏:EGE专栏 上一篇:EGE基础入门篇(五):窗口简单操作 下一篇:EGE基础入门篇(七):组合图形 一.EGE提供的基本图形 EGE绘制图形相关库函数文档 https://xege.org ...

  7. Tensorflow2.0学习(三) — Keras基础应用(Cifar-10图像分类)

    关于Cifar-10数据集大家应该也比较熟悉,属于比较经典的入门分类的数据集.这里我们不采用Cifar-100,因为类别太多训练时间过长,因此用10类别的Cifar-10代替,这个数据集包括:飞机.汽 ...

  8. Tensorflow2.0学习(五) — Keras基础应用(IMDb电影集情感分析)

    今天这一节内容是关于Keras应用分析的最后一节,在熟悉了Keras的基础知识之后,下面几节我们就可以正式接触Tensorflow2.0.根据博主多处查阅,最终还是发现Tensorflow的官方教程好 ...

  9. Python零基础入门习题(六)红楼梦人物出场次数统计

    前言 Python语言简单易用,可读性强.在了解基础语法后,你就可以来尝试解决以下的题目.放心,本系列的文章都对新手非常友好. 一.生日悖论 生日悖论是指在不少于 23 个人中至少有两人生日相同的概率 ...

  10. Apache Flink 零基础入门(十六)Flink DataStream transformation

    Operators transform one or more DataStreams into a new DataStream. Operators操作转换一个或多个DataStream到一个新的 ...

最新文章

  1. 网站实现个人支付宝即时到帐POST页面
  2. mybatis 无法初始化类_从零开始手写 mybatis(一)MVP 版本
  3. Docker容器间通讯,直接路由方式实现网络通讯
  4. 技巧:教你一招优化 Go GC
  5. vue数组变化视图_vue数组操作不更新视图问题(示例代码)
  6. linux-进程杀死的操作
  7. editplus3 关联鼠标右键
  8. 《MBA一日读2.0 读书笔记》
  9. linux备份目录命令tar,Linux中使用tar命令备份与还原数据
  10. 用Python爬虫爬取广州大学教务系统的成绩(内网访问)
  11. 懒人神器:svg-sprite-loader实现自己的Icon组件
  12. edp和edt哪个好_不懂香水EDP和EDT?Dior真我系列完美诠释
  13. 手机软件测试实习感想
  14. JavaWeb之页面跳转数据库连接
  15. 已解决selenium.common.exceptions.WebDriverException: Messag: ‘geckodriver‘ executable needs to be in PA
  16. adams语句_ADAMS模态力 - MSC技术文章 - 中国仿真互动网(www.Simwe.com)
  17. 创建 Time Machine 时间机器的备份至 openmediavault 5(OMV 5) NAS 的 SMB/CIFS 共享文件夹
  18. 数据泄露事件频发,数据安全迫在眉睫
  19. 华钜同创:亚马逊新品流量黄金期如何利用
  20. java 图类_java笔记之图形类详解

热门文章

  1. 合沟微服务怎么添加_如何在微服务中使用webservice?
  2. filter动态参数 maven_多环境下Maven项目的管理
  3. eclipse 大小写快捷键_idea中的一些常用快捷键
  4. linux下 udf提权_raven靶机实战(linux-udf提权)-vuluhub系列(四)
  5. 集合框架和泛型练习题(含代码)
  6. CSS:position属性和z_index
  7. cmd for语句的用法
  8. dedecms 问答系统 ask
  9. 深度学习_算法工程师 6 万字总结算法面试中的深度学习基础问题
  10. 随手记_vscode怎样加命令行参数进行调试(python)