zoukankan      html  css  js  c++  java
  • Keras

    sudo pip install keras --安装

    新建一个文件,里面存储的数据:第一列是属性,第二列是类别

    11220044 0
    11220044 0
    11220044 0
    11220033 1
    11222244 0
    11222244 0
    11222444 1
    11222044 0
    11220044 0
    11220044 0
    11220044 0
    11220044 0
    11220044 0
    11220055 1
    11220066 1
    11220077 1

    X_test,y_test=np.loadtxt('/home/hadoop/py_test.txt',unpack='true')

    这样python导入的是一个

    先创建一个numpy.ndarray的数组

    array([ 11220044.,  11220044.,  11220044.,  11220033.,  11222244.,
            11222244.,  11222444.,  11222044.,  11220044.,  11220044.,
            11220044.,  11220044.,  11220044.,  11220055.,  11220066.,
            11220077.])

    这个数组是1*16即1行16列

    这很显然不是我们想要的,因此要把数组转换一下,变成16*8的情况

    这样才能处理.把前面的数组做下面改变,变成16*8的情况

    x=np.array(
    [
    [1 ,1, 2, 2, 0, 0, 4, 4],
    [1, 1 ,2, 2, 0, 0, 4, 4],
    [1, 1 ,2, 2, 0, 0, 4, 4],
    [1, 1, 2, 2, 0, 0, 3, 3],
    [1, 1, 2, 2, 2, 2, 4, 4],
    [1, 1, 2, 2, 2, 2, 4, 4],
    [1, 1, 2, 2, 2, 4, 4, 4],
    [1, 1, 2, 2, 2, 0, 4, 4],
    [1, 1, 2, 2, 0, 0, 4, 4],
    [1, 1, 2, 2, 0, 0, 4, 4],
    [1, 1, 2, 2, 0, 0, 4, 4],
    [1, 1, 2, 2, 0, 0, 4, 4],
    [1, 1, 2, 2, 0, 0, 4 ,4],
    [1, 1, 2, 2, 0, 0, 5, 5],
    [1, 1, 2, 2, 0, 0, 6, 6],
    [1, 1, 2, 2, 0, 0, 7, 7]
    ]
    )

    from keras.utils import np_utils
    Using TensorFlow backend.
    >>> y_train=np_utils.to_categorical(y_train,nb_classes=2) --把分类标志变成categorical格式,这里是二分类的情况,所以nb_classes=2

    >>> print y_train[:3]
    [[ 1.  0.]
     [ 1.  0.]
     [ 1.  0.]]

    >>> X_test,y_test=np.loadtxt('/home/hadoop/py_test.txt',unpack='true')
    >>> y_test=np_utils.to_categorical(y_test,nb_classes=2)
    >>> from keras.models import Sequential
    >>> from keras.layers import Dense,Activation
    >>> from keras.optimizers import RMSprop
    >>> model=Sequential([Dense(4,input_dim=8),Activation('relu'),Dense(2),Activation('softmax')])
    >>>rmsprop=RMSprop(lr=0.001,rho=0.9,epsilon=1e-08,decay=0.0)
    >>> model.compile(optimizer=rmsprop,loss='categorical_crossentropy',metrics=['accuracy'])

    >>> model.fit(x,y_train,nb_epoch=2,batch_size=4)
    #训练两次的结果

    Epoch 1/2
    16/16 [==============================] - 0s - loss: 3.1792 - acc: 0.3125     
    Epoch 2/2
    16/16 [==============================] - 0s - loss: 2.9554 - acc: 0.3125     
    <keras.callbacks.History object at 0x7f075db1af90>
    >>> model.fit(x,y_train,nb_epoch=100,batch_size=4)
    Epoch 1/100
    16/16 [==============================] - 0s - loss: 2.7971 - acc: 0.3125     
    Epoch 2/100
    16/16 [==============================] - 0s - loss: 2.6670 - acc: 0.3125     
    Epoch 3/100
    16/16 [==============================] - 0s - loss: 2.5527 - acc: 0.3125     
    Epoch 4/100
    16/16 [==============================] - 0s - loss: 2.4442 - acc: 0.3125     
    Epoch 5/100
    16/16 [==============================] - 0s - loss: 2.3397 - acc: 0.3125     
    ...   
    Epoch 72/100
    16/16 [==============================] - 0s - loss: 0.5435 - acc: 0.8750     
    Epoch 73/100
    16/16 [==============================] - 0s - loss: 0.5418 - acc: 0.8750     
    Epoch 74/100
    16/16 [==============================] - 0s - loss: 0.5381 - acc: 0.8750     
    Epoch 75/100
    16/16 [==============================] - 0s - loss: 0.5349 - acc: 0.8750     
    Epoch 76/100
    16/16 [==============================] - 0s - loss: 0.5333 - acc: 0.8750     
    Epoch 77/100
    16/16 [==============================] - 0s - loss: 0.5329 - acc: 0.8750     
    Epoch 78/100
    16/16 [==============================] - 0s - loss: 0.5292 - acc: 0.8750     
    Epoch 79/100
    16/16 [==============================] - 0s - loss: 0.5266 - acc: 0.8750     
    Epoch 80/100
    16/16 [==============================] - 0s - loss: 0.5281 - acc: 0.8750     
    Epoch 81/100
    16/16 [==============================] - 0s - loss: 0.5235 - acc: 0.8750     
    Epoch 82/100
    16/16 [==============================] - 0s - loss: 0.5232 - acc: 0.8750     
    Epoch 83/100
    16/16 [==============================] - 0s - loss: 0.5208 - acc: 0.8750     
    Epoch 84/100
    16/16 [==============================] - 0s - loss: 0.5205 - acc: 0.8750     
    Epoch 85/100
    16/16 [==============================] - 0s - loss: 0.5181 - acc: 0.8750     
    Epoch 86/100
    16/16 [==============================] - 0s - loss: 0.5178 - acc: 0.8750     
    Epoch 87/100
    16/16 [==============================] - 0s - loss: 0.5153 - acc: 0.8750     
    Epoch 88/100
    16/16 [==============================] - 0s - loss: 0.5138 - acc: 0.8750     
    Epoch 89/100
    16/16 [==============================] - 0s - loss: 0.5143 - acc: 0.8750     
    Epoch 90/100
    16/16 [==============================] - 0s - loss: 0.5110 - acc: 0.8750     
    Epoch 91/100
    16/16 [==============================] - 0s - loss: 0.5108 - acc: 0.8750     
    Epoch 92/100
    16/16 [==============================] - 0s - loss: 0.5092 - acc: 0.8750     
    Epoch 93/100
    16/16 [==============================] - 0s - loss: 0.5084 - acc: 0.8750     
    Epoch 94/100
    16/16 [==============================] - 0s - loss: 0.5065 - acc: 0.8750     
    Epoch 95/100
    16/16 [==============================] - 0s - loss: 0.5058 - acc: 0.8750     
    Epoch 96/100
    16/16 [==============================] - 0s - loss: 0.5059 - acc: 0.8750     
    Epoch 97/100
    16/16 [==============================] - 0s - loss: 0.5046 - acc: 0.8750     
    Epoch 98/100
    16/16 [==============================] - 0s - loss: 0.5039 - acc: 0.8750     
    Epoch 99/100
    16/16 [==============================] - 0s - loss: 0.5028 - acc: 0.8750     
    Epoch 100/100
    16/16 [==============================] - 0s - loss: 0.5036 - acc: 0.8750     
    <keras.callbacks.History object at 0x7f075d940f10>
    上面是寻量100次的结果,可见loss一直在降,但是准确率却没有再上升,停留在0.875

    下面是在测试集合上验证
    >>> loss,accuracy=model.evaluate(x,y_test)
    16/16 [==============================] - 0s
    >>> print loss
    0.501516342163
    >>> print accuracy
    0.875


  • 相关阅读:
    CentOS python升级到3.5时yum报错
    CentOS 7将Python 2.X.X升级到Python 3.X.X
    PL SQL Developer报错框乱码
    php遍历目录下文件,并读取内容
    Linux常用命令
    CentOS6.4安装go环境
    CentOS/RedHat rpm方式安装Apache2.2
    在Wamp 添加站点和域名
    印象笔记的导入与导出
    用csv文件读写一个人脸数据库,实现能够并显示对应的人脸结果
  • 原文地址:https://www.cnblogs.com/wangq17/p/6225157.html
Copyright © 2011-2022 走看看