zoukankan      html  css  js  c++  java
  • keras人工神经网络构建入门

    //2019.07.29-30
    1、Keras 是提供一些高度可用神经网络框架的 Python API ,能帮助你快速的构建和训练自己的深度学习模型,它的后端是 TensorFlow 或者 Theano


    2、Keras 被认为是构建神经网络的未来,以下是一些它流行的原因:
    (1)轻量级和快速开发:Keras的目的是在消除样板代码。几行Keras代码就能比原生的 TensorFlow 代码实现更多的功能。你也可以很轻松的实现 CNN和RNN,并且让它们运行在 CPU 或者 GPU 上面。
    (2)框架的“赢者”:Keras是一个API,运行在别的深度学习框架上面。这个框架可以是 TensorFlow 或者 Theano。Microsoft也计划让CNTK作为Keras的一个后端。目前,神经网络框架世界是非常分散的,并且发展非常快。
    想象一下,我们每年都要去学习一个新的框架,这是多么的痛苦。到目前为止,TensorFlow 似乎成为了一种潮流,并且越来越多的框架开始为 Keras 提供支持,它可能会成为一种标准。
    3、目前,Keras 是成长最快的一种深度学习框架。因为可以使用不同的深度学习框架作为后端,这也使得它成为了流行的一个很大的原因。你可以设想这样一个场景,如果你阅读到了一篇很有趣的论文,并且你想在你自己的数据集上面测试这个模型。让我们再次假设,你对TensorFlow非常熟悉,但是对Theano了解的非常少。那么,你必须使用TensorFlow 对这个论文进行复现,但是这个周期是非常长的。但是,如果现在代码是采用Keras写的,那么你只要将后端修改为TensorFlow就可以使用代码了。这将是对社区发展的一个巨大的推动作用。


    4、利用Keras的theano框架搭建一个人工神经网络:
    import numpy as np
    import pandas as pd
    from keras.models import Sequential
    from keras.layers import Dense,Activation
    from keras.optimizers import SGD
    from sklearn.datasets import load_iris #导入Keras人工神经网络搭建模块和导入原始数据
    iris=load_iris()
    print(iris["target"])
    from sklearn.preprocessing import LabelBinarizer
    print(LabelBinarizer().fit_transform(iris["target"]))
    from sklearn.model_selection import train_test_split
    train_data,test_data, train_target, test_target=train_test_split(iris.data,iris.target,test_size=0.2,random_state=1)
    labels_train=LabelBinarizer().fit_transform(train_target)
    labels_test=LabelBinarizer().fit_transform(test_target)

    model=Sequential(
    [
    Dense(5,input_dim=4),
    Activation("relu"),
    Dense(3),
    Activation("sigmoid"), #搭建数据神经网络的结构(输入输出的形式和数量)
    ]
    )
    #model=Sequential()
    sgd=SGD(lr=0.01,decay=1e-6,momentum=0.9,nesterov=True)
    model.compile(optimizer=sgd,loss="categorical_crossentropy")
    model.fit(train_data,labels_train,nb_epoch=200,batch_size=40) #进行数据的训练
    print(model.predict_classes(test_data)) #输出测试集的预测结果

  • 相关阅读:
    ios 数据类型转换 UIImage转换为NSData NSData转换为NSString
    iOS UI 12 block传值
    iOS UI 11 单例
    iOS UI 08 uitableview 自定义cell
    iOS UI 07 uitableviewi3
    iOS UI 07 uitableviewi2
    iOS UI 07 uitableview
    iOS UI 05 传值
    iOS UI 04 轨道和动画
    iOS UI 03 事件和手势
  • 原文地址:https://www.cnblogs.com/Yanjy-OnlyOne/p/11269454.html
Copyright © 2011-2022 走看看