zoukankan      html  css  js  c++  java
  • 执行训练

    训练的数据输入可以全部载入内存,下面这两种方法
    #按照批次进行训练(传入的是一个批次的样本和标签)样本少,将所有的样本作为一个批次
    cost = model.train_on_batch(x_data,y_data)
    #划分批次进行训练(传入的是所有的数据进行分批次训练)样本数量多。
    model.fit(x_train,y_train,batch_size=32,epochs=10)
    也可以自己从硬盘中分批次读取。
    
    #定义数据处理
    train_datagen = ImageDataGenerator(
        rotation_range = 40,     # 随机旋转度数
        width_shift_range = 0.2, # 随机水平平移
        height_shift_range = 0.2,# 随机竖直平移
        rescale = 1/255,         # 数据归一化
        shear_range = 20,       # 随机错切变换
        zoom_range = 0.2,        # 随机放大
        horizontal_flip = True,  # 水平翻转
        fill_mode = 'nearest',   # 填充方式
    )
    
    batch_size = 32
    
    # 生成训练数据,这个不会一次载入
    train_generator = train_datagen.flow_from_directory(
        'image/train',
        target_size=(150,150),
        batch_size=batch_size,
        
    train_generator.class_indices#打印类别
    
    #测试集
    test_datagen = ImageDataGenerator(
        rescale = 1/255,         # 数据归一化
    )
    # 测试数据
    test_generator = test_datagen.flow_from_directory(
        'image/test',
        target_size=(150,150),
        batch_size=batch_size,
        ) 
    model.fit_generator(train_generator,
                  steps_per_epoch=len(train_generator),#路径内有400个照片每个epoch有多少个周期呢?这里不用批次了
                  epochs=30,#一共训练多少个周期
                  validation_data=test_generator,#验证集的迭代器
                  validation_steps=len(test_generator))#验证集一个周期分多少个批次呢
  • 相关阅读:
    内存中的线程
    python高级线程、进程和进程池
    生产者以及消费者模式(进程池)
    生产者以及消费者模式(多进程)
    生产者以及消费者模式
    全局解释器锁(GIL)
    JoinableQueue队列实现消费之生产者模型
    什么是Sikuli?
    协程基础
    装饰器
  • 原文地址:https://www.cnblogs.com/yunshangyue71/p/13584459.html
Copyright © 2011-2022 走看看