当前位置:首页 » 编程语言 » relupython

relupython

发布时间: 2023-01-15 18:16:09

Ⅰ 13个最常用的python深度学习库介绍

13个最常用的Python深度学习库介绍
如果你对深度学习和卷积神经网络感兴趣,但是并不知道从哪里开始,也不知道使用哪种库,那么这里就为你提供了许多帮助。
在这篇文章里,我详细解读了9个我最喜欢的Python深度学习库。
这个名单并不详尽,它只是我在计算机视觉的职业生涯中使用并在某个时间段发现特别有用的一个库的列表。
这其中的一些库我比别人用的多很多,尤其是Keras、mxnet和sklearn-theano。
其他的一些我是间接的使用,比如Theano和TensorFlow(库包括Keras、deepy和Blocks等)。
另外的我只是在一些特别的任务中用过(比如nolearn和他们的Deep Belief Network implementation)。
这篇文章的目的是向你介绍这些库。我建议你认真了解这里的每一个库,然后在某个具体工作情境中你就可以确定一个最适用的库。
我想再次重申,这份名单并不详尽。此外,由于我是计算机视觉研究人员并长期活跃在这个领域,对卷积神经网络(细胞神经网络)方面的库会关注更多。
我把这个深度学习库的列表分为三个部分。
第一部分是比较流行的库,你可能已经很熟悉了。对于这些库,我提供了一个通俗的、高层次的概述。然后,针对每个库我详细解说了我的喜欢之处和不喜欢之处,并列举了一些适当的应用案例。
第二部分进入到我个人最喜欢的深度学习库,也是我日常工作中使用最多的,包括:Keras、mxnet和sklearn-theano等。
最后,我对第一部分中不经常使用的库做了一个“福利”板块,你或许还会从中发现有用的或者是在第二板块中我还没有尝试过但看起来很有趣的库。
接下来就让我们继续探索。
针对初学者:
Caffe
提到“深度学习库”就不可能不说到Caffe。事实上,自从你打开这个页面学习深度学习库,我就敢打保票你肯定听说Caffe。
那么,究竟Caffe是什么呢?
Caffe是由Berkeley Vision and Learning Center(BVLC)建立的深度学习框架。它是模块化的,速度极快。而且被应用于学术界和产业界的start-of-the-art应用程序中。
事实上,如果你去翻阅最新的深度学习出版物(也提供源代码),你就很可能会在它们相关的GitHub库中找到Caffe模型。
虽然Caffe本身并不是一个Python库,但它提供绑定到Python上的编程语言。我们通常在新领域开拓网络的时候使用这些绑定。
我把Caffe放在这个列表的原因是它几乎被应用在各个方面。你可以在一个空白文档里定义你的模型架构和解决方案,建立一个JSON文件类型的.prototxt配置文件。Caffe二进制文件提取这些.prototxt文件并培训你的网络。Caffe完成培训之后,你可以把你的网络和经过分类的新图像通过Caffe二进制文件,更好的就直接通过Python或MATLAB的API。
虽然我很喜欢Caffe的性能(它每天可以在K40 GPU上处理60万张图片),但相比之下我更喜欢Keras和mxnet。
主要的原因是,在.prototxt文件内部构建架构可能会变得相当乏味和无聊。更重要的是, Caffe不能用编程方式调整超参数!由于这两个原因,在基于Python的API中我倾向于对允许我实现终端到终端联播网的库倾斜(包括交叉验证和调整超参数)。
Theano
在最开始我想说Theano是美丽的。如果没有Theano,我们根本不会达到现有的深度学习库的数量(特别是在Python)。同样的,如果没有numpy,我们就不会有SciPy、scikit-learn和 scikit-image,,同样可以说是关于Theano和深度学习更高级别的抽象。
非常核心的是,Theano是一个Python库,用来定义、优化和评估涉及多维数组的数学表达式。 Theano通过与numpy的紧密集成,透明地使用GPU来完成这些工作。
虽然可以利用Theano建立深度学习网络,但我倾向于认为Theano是神经网络的基石,同样的numpy是作为科学计算的基石。事实上,大多数我在文章中提到的库都是围绕着Theano,使自己变得更加便利。
不要误会我的意思,我爱Theano,我只是不喜欢用Theano编写代码。
在Theano建设卷积神经网络就像只用本机Python中的numpy写一个定制的支持向量机(SVM),当然这个对比并不是很完美。
你可以做到吗?
当然可以。
它值得花费您的时间和精力吗?
嗯,也许吧。这取决于你是否想摆脱低级别或你的应用是否需要。
就个人而言,我宁愿使用像Keras这样的库,它把Theano包装成更有人性化的API,同样的方式,scikit-learn使机器学习算法工作变得更加容易。
TensorFlow
与Theano类似,TensorFlow是使用数据流图进行数值计算的开源库(这是所有神经网络固有的特征)。最初由谷歌的机器智能研究机构内的Google Brain Team研究人员开发,此后库一直开源,并提供给公众。
相比于Theano ,TensorFlow的主要优点是分布式计算,特别是在多GPU的环境中(虽然这是Theano正在攻克的项目)。
除了用TensorFlow而不是Theano替换Keras后端,对于TensorFlow库我并没有太多的经验。然而在接下来的几个月里,我希望这有所改变。
Lasagne
Lasagne是Theano中用于构建和训练网络的轻量级库。这里的关键词是轻量级的,也就意味着它不是一个像Keras一样围绕着Theano的重包装的库。虽然这会导致你的代码更加繁琐,但它会把你从各种限制中解脱出来,同时还可以让您根据Theano进行模块化的构建。
简而言之:Lasagne的功能是Theano的低级编程和Keras的高级抽象之间的一个折中。
我最喜欢的:
Keras
如果我必须选出一个最喜欢的深度学习Python库,我将很难在Keras和mxnet中做出抉择——但最后,我想我会选Keras。
说真的,Keras的好处我说都说不完。
Keras是一个最低限度的、模块化的神经网络库,可以使用Theano或TensorFlow作为后端。Keras最主要的用户体验是,从构思到产生结果将会是一个非常迅速的过程。
在Keras中架构网络设计是十分轻松自然的。它包括一些state-of-the-art中针对优化(Adam,RMSProp)、标准化(BatchNorm)和激活层(PReLU,ELU,LeakyReLU)最新的算法。
Keras也非常注重卷积神经网络,这也是我十分需要的。无论它是有意还是无意的,我觉得从计算机视觉的角度来看这是非常有价值的。
更重要的是,你既可以轻松地构建基于序列的网络(其中输入线性流经网络)又可以创建基于图形的网络(输入可以“跳过”某些层直接和后面对接)。这使得创建像GoogLeNet和SqueezeNet这样复杂的网络结构变得容易得多。
我认为Keras唯一的问题是它不支持多GPU环境中并行地训练网络。这可能会也可能不会成为你的大忌。
如果我想尽快地训练网络,那么我可能会使用mxnet。但是如果我需要调整超参数,我就会用Keras设置四个独立的实验(分别在我的Titan X GPUs上运行)并评估结果。
mxnet
我第二喜欢的深度学习Python库无疑就是mxnet(重点也是训练图像分类网络)。虽然在mxnet中站立一个网络可能需要较多的代码,但它会提供给你惊人数量的语言绑定(C ++、Python、R、JavaScript等)。
Mxnet库真正出色的是分布式计算,它支持在多个CPU / GPU机训练你的网络,甚至可以在AWS、Azure以及YARN集群。
它确实需要更多的代码来设立一个实验并在mxnet上运行(与Keras相比),但如果你需要跨多个GPU或系统分配训练,我推荐mxnet。
sklearn-theano
有时候你并不需要终端到终端的培养一个卷积神经网络。相反,你需要把CNN看作一个特征提取器。当你没有足够的数据来从头培养一个完整的CNN时它就会变得特别有用。仅仅需要把你的输入图像放入流行的预先训练架构,如OverFeat、AlexNet、VGGNet或GoogLeNet,然后从FC层提取特征(或任何您要使用的层)。
总之,这就是sklearn-theano的功能所在。你不能用它从头到尾的训练一个模型,但它的神奇之处就是可以把网络作为特征提取器。当需要评估一个特定的问题是否适合使用深度学习来解决时,我倾向于使用这个库作为我的第一手判断。
nolearn
我在PyImageSearch博客上用过几次nolearn,主要是在我的MacBook Pro上进行一些初步的GPU实验和在Amazon EC2 GPU实例中进行深度学习。
Keras把 Theano和TensorFlow包装成了更具人性化的API,而nolearn也为Lasagne做了相同的事。此外,nolearn中所有的代码都是与scikit-learn兼容的,这对我来说绝对是个超级的福利。
我个人不使用nolearn做卷积神经网络(CNNs),但你当然也可以用(我更喜欢用Keras和mxnet来做CNNs)。我主要用nolearn来制作Deep Belief Networks (DBNs)。
DIGITS
DIGITS并不是一个真正的深度学习库(虽然它是用Python写的)。DIGITS(深度学习GPU培训系统)实际上是用于培训Caffe深度学习模式的web应用程序(虽然我认为你可以破解源代码然后使用Caffe以外其他的后端进行工作,但这听起来就像一场噩梦)。
如果你曾经用过Caffe,那么你就会知道通过它的终端来定义.prototxt文件、生成图像数据、运行网络并监管你的网络训练是相当繁琐的。 DIGITS旨在通过让你在浏览器中执行这些任务来解决这个问题。
此外,DIGITS的用户界面非常出色,它可以为你提供有价值的统计数据和图表作为你的模型训练。另外,你可以通过各种输入轻松地可视化网络中的激活层。最后,如果您想测试一个特定的图像,您可以把图片上传到你的DIGITS服务器或进入图片的URL,然后你的Caffe模型将会自动分类图像并把结果显示在浏览器中。干净利落!
Blocks
说实话,虽然我一直想尝试,但截至目前我的确从来没用过Blocks(这也是我把它包括在这个列表里的原因)。就像许多个在这个列表中的其他库一样,Blocks建立在Theano之上,呈现出一个用户友好型的API。
deepy
如果让你猜deepy是围绕哪个库建立的,你会猜什么?
没错,就是Theano。
我记得在前一段时间用过deepy(做了初始提交),但在接下里的大概6-8个月我都没有碰它了。我打算在接下来的博客文章里再尝试一下。
pylearn2
虽然我从没有主动地使用pylearn2,但由于历史原因,我觉得很有必要把它包括在这个列表里。 Pylearn2不仅仅是一般的机器学习库(地位类似于scikit-learn),也包含了深度学习算法的实现。
对于pylearn2我最大的担忧就是(在撰写本文时),它没有一个活跃的开发者。正因为如此,相比于像Keras和mxnet这样的有积极维护的库,推荐pylearn2我还有些犹豫。
Deeplearning4j
这本应是一个基于Python的列表,但我想我会把Deeplearning4j包括在这里,主要是出于对他们所做事迹的无比崇敬——Deeplearning4j为JVM建立了一个开源的、分布式的深度学习库。
如果您在企业工作,你可能会有一个塞满了用过的Hadoop和MapRece服务器的储存器。也许这些你还在用,也许早就不用了。
你怎样才能把这些相同的服务器应用到深度学习里?
事实证明是可以的——你只需要Deeplearning4j。
总计
以上就是本文关于13个最常用的Python深度学习库介绍的全部内容

Ⅱ 如何在Python中用LSTM网络进行时间序列预测

时间序列模型

时间序列预测分析就是利用过去一段时间内某事件时间的特征来预测未来一段时间内该事件的特征。这是一类相对比较复杂的预测建模问题,和回归分析模型的预测不同,时间序列模型是依赖于事件发生的先后顺序的,同样大小的值改变顺序后输入模型产生的结果是不同的。
举个栗子:根据过去两年某股票的每天的股价数据推测之后一周的股价变化;根据过去2年某店铺每周想消费人数预测下周来店消费的人数等等

RNN 和 LSTM 模型

时间序列模型最常用最强大的的工具就是递归神经网络(recurrent neural network, RNN)。相比与普通神经网络的各计算结果之间相互独立的特点,RNN的每一次隐含层的计算结果都与当前输入以及上一次的隐含层结果相关。通过这种方法,RNN的计算结果便具备了记忆之前几次结果的特点。

典型的RNN网路结构如下:

4. 模型训练和结果预测
将上述数据集按4:1的比例随机拆分为训练集和验证集,这是为了防止过度拟合。训练模型。然后将数据的X列作为参数导入模型便可得到预测值,与实际的Y值相比便可得到该模型的优劣。

实现代码

  • 时间间隔序列格式化成所需的训练集格式

  • import pandas as pdimport numpy as npdef create_interval_dataset(dataset, look_back):

  • """ :param dataset: input array of time intervals :param look_back: each training set feature length :return: convert an array of values into a dataset matrix. """

  • dataX, dataY = [], [] for i in range(len(dataset) - look_back):

  • dataX.append(dataset[i:i+look_back])

  • dataY.append(dataset[i+look_back]) return np.asarray(dataX), np.asarray(dataY)


  • df = pd.read_csv("path-to-your-time-interval-file")

  • dataset_init = np.asarray(df) # if only 1 columndataX, dataY = create_interval_dataset(dataset, lookback=3) # look back if the training set sequence length

  • 这里的输入数据来源是csv文件,如果输入数据是来自数据库的话可以参考这里

  • LSTM网络结构搭建

  • import pandas as pdimport numpy as npimport randomfrom keras.models import Sequential, model_from_jsonfrom keras.layers import Dense, LSTM, Dropoutclass NeuralNetwork():

  • def __init__(self, **kwargs):

  • """ :param **kwargs: output_dim=4: output dimension of LSTM layer; activation_lstm='tanh': activation function for LSTM layers; activation_dense='relu': activation function for Dense layer; activation_last='sigmoid': activation function for last layer; drop_out=0.2: fraction of input units to drop; np_epoch=10, the number of epoches to train the model. epoch is one forward pass and one backward pass of all the training examples; batch_size=32: number of samples per gradient update. The higher the batch size, the more memory space you'll need; loss='mean_square_error': loss function; optimizer='rmsprop' """

  • self.output_dim = kwargs.get('output_dim', 8) self.activation_lstm = kwargs.get('activation_lstm', 'relu') self.activation_dense = kwargs.get('activation_dense', 'relu') self.activation_last = kwargs.get('activation_last', 'softmax') # softmax for multiple output

  • self.dense_layer = kwargs.get('dense_layer', 2) # at least 2 layers

  • self.lstm_layer = kwargs.get('lstm_layer', 2) self.drop_out = kwargs.get('drop_out', 0.2) self.nb_epoch = kwargs.get('nb_epoch', 10) self.batch_size = kwargs.get('batch_size', 100) self.loss = kwargs.get('loss', 'categorical_crossentropy') self.optimizer = kwargs.get('optimizer', 'rmsprop') def NN_model(self, trainX, trainY, testX, testY):

  • """ :param trainX: training data set :param trainY: expect value of training data :param testX: test data set :param testY: epect value of test data :return: model after training """

  • print "Training model is LSTM network!"

  • input_dim = trainX[1].shape[1]

  • output_dim = trainY.shape[1] # one-hot label

  • # print predefined parameters of current model:

  • model = Sequential() # applying a LSTM layer with x dim output and y dim input. Use dropout parameter to avoid overfitting

  • model.add(LSTM(output_dim=self.output_dim,

  • input_dim=input_dim,

  • activation=self.activation_lstm,

  • dropout_U=self.drop_out,

  • return_sequences=True)) for i in range(self.lstm_layer-2):

  • model.add(LSTM(output_dim=self.output_dim,

  • input_dim=self.output_dim,

  • activation=self.activation_lstm,

  • dropout_U=self.drop_out,

  • return_sequences=True)) # argument return_sequences should be false in last lstm layer to avoid input dimension incompatibility with dense layer

  • model.add(LSTM(output_dim=self.output_dim,

  • input_dim=self.output_dim,

  • activation=self.activation_lstm,

  • dropout_U=self.drop_out)) for i in range(self.dense_layer-1):

  • model.add(Dense(output_dim=self.output_dim,

  • activation=self.activation_last))

  • model.add(Dense(output_dim=output_dim,

  • input_dim=self.output_dim,

  • activation=self.activation_last)) # configure the learning process

  • model.compile(loss=self.loss, optimizer=self.optimizer, metrics=['accuracy']) # train the model with fixed number of epoches

  • model.fit(x=trainX, y=trainY, nb_epoch=self.nb_epoch, batch_size=self.batch_size, validation_data=(testX, testY)) # store model to json file

  • model_json = model.to_json() with open(model_path, "w") as json_file:

  • json_file.write(model_json) # store model weights to hdf5 file

  • if model_weight_path: if os.path.exists(model_weight_path):

  • os.remove(model_weight_path)

  • model.save_weights(model_weight_path) # eg: model_weight.h5

  • return model

  • 这里写的只涉及LSTM网络的结构搭建,至于如何把数据处理规范化成网络所需的结构以及把模型预测结果与实际值比较统计的可视化,就需要根据实际情况做调整了。

    Ⅲ 怎样用python构建一个卷积神经网络

    用keras框架较为方便

    首先安装anaconda,然后通过pip安装keras

    Ⅳ 怎么用python写tensorflow

    开始使用

    TensorFlow并不是一个纯粹的神经网络框架, 而是使用数据流图进行数值分析的框架.

    TensorFlow使用有向图(graph)表示一个计算任务.图的节点称为ops(operations)表示对数据的处理,图的边flow 描述数据的流向.

    该框架计算过程就是处理tensor组成的流. 这也是TensorFlow名称的来源.

    TensorFlow使用tensor表示数据. tensor意为张量即高维数组,在python中使用numpy.ndarray表示.

    TensorFlow使用Session执行图, 使用Variable维护状态.tf.constant是只能输出的ops, 常用作数据源.

    下面我们构建一个只有两个constant做输入, 然后进行矩阵乘的简单图:

    from tensorflow import Session, device, constant, matmul'''构建一个只有两个constant做输入, 然后进行矩阵乘的简单图:'''#如果不使用with session()语句, 需要手动执行session.close().
    #with device设备指定了执行计算的设备:
    # "/cpu:0": 机器的 CPU.
    # "/gpu:0": 机器的第一个 GPU, 如果有的话.
    # "/gpu:1": 机器的第二个 GPU, 以此类推.

    with Session() as session: # 创建执行图的上下文
    with device('/cpu:0'): # 指定运算设备
    mat1 = constant([[3, 3]]) # 创建源节点
    mat2 = constant([[2], [2]])
    proct = matmul(mat1, mat2) # 指定节点的前置节点, 创建图
    result = session.run(proct) # 执行计算 print(result)123456789101112131415161718

    Ⅳ 如何通过Python进行深度学习

    作者 | Vihar Kurama

    编译 | 荷叶

    来源 | 云栖社区

    摘要:深度学习背后的主要原因是人工智能应该从人脑中汲取灵感。本文就用一个小例子无死角的介绍一下深度学习!

    人脑模拟

    深度学习背后的主要原因是人工智能应该从人脑中汲取灵感。此观点引出了“神经网络”这一术语。人脑中包含数十亿个神经元,它们之间有数万个连接。很多情况下,深度学习算法和人脑相似,因为人脑和深度学习模型都拥有大量的编译单元(神经元),这些编译单元(神经元)在独立的情况下都不太智能,但是当他们相互作用时就会变得智能。

    我认为人们需要了解到深度学习正在使得很多幕后的事物变得更好。深度学习已经应用于谷歌搜索和图像搜索,你可以通过它搜索像“拥抱”这样的词语以获得相应的图像。-杰弗里·辛顿

    神经元

    神经网络的基本构建模块是人工神经元,它模仿了人类大脑的神经元。这些神经元是简单、强大的计算单元,拥有加权输入信号并且使用激活函数产生输出信号。这些神经元分布在神经网络的几个层中。

    inputs 输入 outputs 输出 weights 权值 activation 激活

    人工神经网络的工作原理是什么?

    深度学习由人工神经网络构成,该网络模拟了人脑中类似的网络。当数据穿过这个人工网络时,每一层都会处理这个数据的一方面,过滤掉异常值,辨认出熟悉的实体,并产生最终输出。

    输入层:该层由神经元组成,这些神经元只接收输入信息并将它传递到其他层。输入层的图层数应等于数据集里的属性或要素的数量。输出层:输出层具有预测性,其主要取决于你所构建的模型类型。隐含层:隐含层处于输入层和输出层之间,以模型类型为基础。隐含层包含大量的神经元。处于隐含层的神经元会先转化输入信息,再将它们传递出去。随着网络受训练,权重得到更新,从而使其更具前瞻性。

    神经元的权重

    权重是指两个神经元之间的连接的强度或幅度。你如果熟悉线性回归的话,可以将输入的权重类比为我们在回归方程中用的系数。权重通常被初始化为小的随机数值,比如数值0-1。

    前馈深度网络

    前馈监督神经网络曾是第一个也是最成功的学习算法。该网络也可被称为深度网络、多层感知机(MLP)或简单神经网络,并且阐明了具有单一隐含层的原始架构。每个神经元通过某个权重和另一个神经元相关联。

    该网络处理向前处理输入信息,激活神经元,最终产生输出值。在此网络中,这称为前向传递。

    inputlayer 输入层 hidden layer 输出层 output layer 输出层

    激活函数

    激活函数就是求和加权的输入到神经元的输出的映射。之所以称之为激活函数或传递函数是因为它控制着激活神经元的初始值和输出信号的强度。

    用数学表示为:

    我们有许多激活函数,其中使用最多的是整流线性单元函数、双曲正切函数和solfPlus函数。

    激活函数的速查表如下:

    反向传播

    在网络中,我们将预测值与预期输出值相比较,并使用函数计算其误差。然后,这个误差会传回这个网络,每次传回一个层,权重也会根绝其导致的误差值进行更新。这个聪明的数学法是反向传播算法。这个步骤会在训练数据的所有样本中反复进行,整个训练数据集的网络更新一轮称为一个时期。一个网络可受训练数十、数百或数千个时期。

    prediction error 预测误差

    代价函数和梯度下降

    代价函数度量了神经网络对给定的训练输入和预期输出“有多好”。该函数可能取决于权重、偏差等属性。

    代价函数是单值的,并不是一个向量,因为它从整体上评估神经网络的性能。在运用梯度下降最优算法时,权重在每个时期后都会得到增量式地更新。

    兼容代价函数

    用数学表述为差值平方和:

    target 目标值 output 输出值

    权重更新的大小和方向是由在代价梯度的反向上采取步骤计算出的。

    其中η 是学习率

    其中Δw是包含每个权重系数w的权重更新的向量,其计算方式如下:

    target 目标值 output 输出值

    图表中会考虑到单系数的代价函数

    initial weight 初始权重 gradient 梯度 global cost minimum 代价极小值

    在导数达到最小误差值之前,我们会一直计算梯度下降,并且每个步骤都会取决于斜率(梯度)的陡度。

    多层感知器(前向传播)

    这类网络由多层神经元组成,通常这些神经元以前馈方式(向前传播)相互连接。一层中的每个神经元可以直接连接后续层的神经元。在许多应用中,这些网络的单元会采用S型函数或整流线性单元(整流线性激活)函数作为激活函数。

    现在想想看要找出处理次数这个问题,给定的账户和家庭成员作为输入

    要解决这个问题,首先,我们需要先创建一个前向传播神经网络。我们的输入层将是家庭成员和账户的数量,隐含层数为1, 输出层将是处理次数。

    将图中输入层到输出层的给定权重作为输入:家庭成员数为2、账户数为3。

    现在将通过以下步骤使用前向传播来计算隐含层(i,j)和输出层(k)的值。

    步骤:

    1, 乘法-添加方法。

    2, 点积(输入*权重)。

    3,一次一个数据点的前向传播。

    4, 输出是该数据点的预测。

    i的值将从相连接的神经元所对应的输入值和权重中计算出来。

    i = (2 * 1) + (3* 1) → i = 5

    同样地,j = (2 * -1) + (3 * 1) → j =1

    K = (5 * 2) + (1* -1) → k = 9

    Python中的多层感知器问题的解决

    激活函数的使用

    为了使神经网络达到其最大预测能力,我们需要在隐含层应用一个激活函数,以捕捉非线性。我们通过将值代入方程式的方式来在输入层和输出层应用激活函数。

    这里我们使用整流线性激活(ReLU):

    用Keras开发第一个神经网络

    关于Keras:

    Keras是一个高级神经网络的应用程序编程接口,由Python编写,能够搭建在TensorFlow,CNTK,或Theano上。

    使用PIP在设备上安装Keras,并且运行下列指令。

    在keras执行深度学习程序的步骤

    1,加载数据;

    2,创建模型;

    3,编译模型;

    4,拟合模型;

    5,评估模型。

    开发Keras模型

    全连接层用Dense表示。我们可以指定层中神经元的数量作为第一参数,指定初始化方法为第二参数,即初始化参数,并且用激活参数确定激活函数。既然模型已经创建,我们就可以编译它。我们在底层库(也称为后端)用高效数字库编译模型,底层库可以用Theano或TensorFlow。目前为止,我们已经完成了创建模型和编译模型,为进行有效计算做好了准备。现在可以在PIMA数据上运行模型了。我们可以在模型上调用拟合函数f(),以在数据上训练或拟合模型。

    我们先从KERAS中的程序开始,

    神经网络一直训练到150个时期,并返回精确值。

    热点内容
    开票人的权限配置如何选择 发布:2025-07-15 14:51:22 浏览:130
    怎么把服务器变成普通电脑 发布:2025-07-15 14:39:45 浏览:957
    甘肃天水首选服务器地址云主机 发布:2025-07-15 14:34:32 浏览:715
    我的世界java版好玩的外国服务器网址 发布:2025-07-15 14:20:17 浏览:110
    电脑的外存储器 发布:2025-07-15 14:19:42 浏览:526
    淘淘源码 发布:2025-07-15 14:12:07 浏览:881
    自己的主机可以搭建服务器吗 发布:2025-07-15 14:09:58 浏览:775
    atilinux 发布:2025-07-15 14:01:42 浏览:822
    硬盘缓存越大越好 发布:2025-07-15 13:53:22 浏览:388
    苹果六怎么设置密码锁 发布:2025-07-15 13:43:28 浏览:33