keras基于tensorflow后端---处理自己的数据

对于通道数为一的图像:

# -*- coding: utf-8 -*-
from __future__ import absolute_import
from __future__ import print_function
import os
from PIL import Image
import numpy as np
from keras.preprocessing.image import ImageDataGenerator
from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation, Flatten
from keras.layers.advanced_activations import PReLU
from keras.layers.convolutional import Convolution2D, MaxPooling2D,Conv2D
from keras.optimizers import SGD, Adadelta, Adagrad
from keras.utils import np_utils, generic_utils
from six.moves import range


#数据预处理
#读取文件夹mnist下的42000张图片(灰度图)

def load_data():
    data = np.empty((2000,28,28,1),dtype="float32")      注意:::: 这里2000是图像数,数目不对时,会报错
    label = np.empty((2000,),dtype="uint8")
   
    imgs = os.listdir("./mnist")
    num = len(imgs)
    for i in range(num):
        print(i)
        img = Image.open("./mnist/"+imgs[i])
        arr = np.asarray(img,dtype="float32")
       
        print(arr.shape)
        data[i,:,:,0] = arr
        #print(data.shape)
        label[i] = int(imgs[i].split('.')[0])
        #print(label[i])
    return data,label

def load_testData():
    testImg = Image.open('testNum1.jpg')
    imgArr = np.asarray(testImg,dtype="float32")
    testData = np.empty((1,28,28,1),dtype="float32")
    testData[0,:,:,0] = imgArr
    return testData

if __name__ == '__main__':

    testData = load_testData()
           
    #保存模型数据的文件
    filename = 'mnistCnnTrain.h5'
    #加载数据
    data, label = load_data()
   
    #print(data.shape[0], ' samples')
   
    #label为0~9共10个类别,转化格式
    label = np_utils.to_categorical(label, 10)
    #print(label)


    #=======================================
    #=======================================
   

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: KerasTensorFlow有很多不同之处,但最显著的区别是Keras是一个高阶神经网络库,而TensorFlow是一个低阶的计算机库。Keras提供了预先定义的层和模型,可以让用户快速构建深度学习模型,而TensorFlow需要用户使用低级API去构建自定义的模型。 ### 回答2: KerasTensorFlow是两个在深度学习领域广泛使用的库。 Keras是一个高级的深度学习库,它是基于Python语言编写的,并且提供了用户友好的API接口。Keras的设计目标是使深度学习模型的构建和训练过程更加简单和快速。它提供了大量的预定义的层和模型,以及许多常用的优化算法和损失函数,使得用户可以轻松地构建各种类型的神经网络模型。 而TensorFlow则是一个功能强大的机器学习库,它不仅支持深度学习,还包括其他机器学习算法。TensorFlow设计的目标是提供一个灵活且高度可扩展的计算框架,用于构建和训练各种机器学习模型。它提供了丰富的工具和库,包括低级别的API,使得用户可以更加灵活地控制模型的构建和训练过程。 总的来说,Keras更加简单和易于使用,适合初学者或者快速原型开发。而TensorFlow则提供了更多的底层功能和灵活性,适合那些有更高要求和更深入研究的用户。事实上,Keras可以作为TensorFlow的高级API使用,通过Keras可以使用TensorFlow的底层功能。 因此,选择使用Keras还是TensorFlow取决于用户的特定需求和个人喜好。 ### 回答3: KerasTensorFlow都是深度学习框架,但它们之间存在一些区别。 首先,Keras是一个高度模块化的深度学习库,它是在TensorFlow之上构建的。它提供了简单易用的接口和抽象层,使得开发者可以快速构建和训练神经网络。因为它的设计目标是用户友好性和易用性,所以Keras非常适合初学者或希望快速原型开发的人。它提供了丰富的预训练模型和强大的图像处理工具,同时还支持多种后端引擎,包括TensorFlow、Theano和CNTK等。 而TensorFlow是一个更底层的深度学习框架,它提供了更低级的操作和更灵活的编程接口。TensorFlow的设计目标是性能和可扩展性,在处理大规模数据集和复杂模型时表现出色。它不仅支持神经网络,还支持更广泛的机器学习算法。TensorFlow还提供了许多高级功能,如分布式训练、自动微分和模型优化,使其在大型项目和研究工作中更受欢迎。 此外,由于KerasTensorFlow的一部分,因此使用TensorFlow时可以无缝集成Keras。这意味着开发者可以在TensorFlow的底层上使用Keras构建模型,同时还可以利用TensorFlow的底层功能进行更底层的自定义和调优。 总结起来,Keras更注重简单易用和快速原型开发,而TensorFlow更偏向于底层灵活性和性能。选择Keras还是TensorFlow取决于具体需求和个人偏好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值