当前位置: 首页 > 知识库问答 >
问题:

Keras神经网络只需要很少的样本来训练

仉磊
2023-03-14
data = np.random.random((10000, 150)) 
labels = np.random.randint(10, size=(10000, 1))
labels = to_categorical(labels, num_classes=10) 
model = Sequential()
model.add(Dense(units=32, activation='relu', input_shape=(150,)))
model.add(Dense(units=10, activation='softmax'))
model.compile(optimizer='rmsprop',
              loss='categorical_crossentropy',
              metrics=['accuracy'])

model.fit(data, labels, epochs=30, validation_split=0.2)

我创建了10000个随机样本来训练我的网络,但它只使用了其中的几个(250/10000),例如第一个时代:

纪元1/30

250/250[=========================================================-0秒/步-损耗:2.1110-精度:0.2389-val_损耗:2.2142-val_精度:0.1800

共有2个答案

吕嘉荣
2023-03-14

像下面的例子一样尝试代码

model = Sequential()
model.add(Dense(32, activation='relu', input_dim=100))
model.add(Dense(10, activation='softmax'))
model.compile(optimizer='rmsprop',
              loss='categorical_crossentropy',
              metrics=['accuracy'])

# Generate dummy data
import numpy as np
data = np.random.random((1000, 100))
labels = np.random.randint(10, size=(1000, 1))

# Convert labels to categorical one-hot encoding
one_hot_labels = keras.utils.to_categorical(labels, num_classes=10)

# Train the model, iterating on the data in batches of 32 samples
model.fit(data, one_hot_labels, epochs=10, batch_size=32)
苏鸿才
2023-03-14

您的数据分为培训和验证子集(验证\u split=0.2)。培训子集的大小为8000和2000。培训分批次进行,默认情况下,每个批次有32个样本。因此,一个历元应该取8000/32=250批,如进度中所示。

 类似资料:
  • 在本章中,我们将了解可以使用TensorFlow框架实现的神经网络训练的各个方面。 以下几个建议,可以评估 - 1. 反向传播 反向传播是计算偏导数的简单方法,其中包括最适合神经网络的基本形式的合成。 2. 随机梯度下降 在随机梯度下降中,批处理是示例的总数,用户用于在单次迭代中计算梯度。到目前为止,假设批处理已经是整个数据集。最好的例子是谷歌规模; 数据集通常包含数十亿甚至数千亿个示例。 3.

  • 我有一个关于卷积神经网络()训练的问题。 我成功地使用tensorflow训练了一个网络,它获取一个输入图像(1600像素),然后输出三个匹配的类中的一个。 使用不同的培训课程测试网络,效果良好。然而当我给它一个不同的第四个图像(不包含任何经过训练的3个图像)时,它总是返回一个随机匹配到其中一个类。 我的问题是,如何训练网络来分类图像不属于这三个训练图像中的任何一个?类似的例子是,如果我针对mni

  • 假设你是一名工程师,接到一项从头开始设计计算机的任务。某天,你在工作室工作,设计逻辑电路,构建 $$AND$$ 门,$$OR$$ 门等等时,老板带着坏消息进来:客户刚刚添加了一个奇特的设计需求:整个计算机的线路的深度必须只有两层: 你惊呆了,跟老板说道:“这货疯掉了吧!” 老板说:“他们确实疯了,但是客户的需求比天大,我们要满足它。” 实际上,在某种程度上看,他们的客户并没有太疯狂。假设你可以使用

  • 这是我的问题。我训练了一个卷积神经网络,用tensorflow将图像分为两类。我现在想知道如何使用神经网络的权重,并在未标记的随机图像上进行测试。tensorflow中是否有这样的函数,或者我现在应该自己运行卷积吗?

  • 是否有方法按层(而不是端到端)训练卷积神经网络,以了解每一层对最终架构性能的贡献?

  • 第 10 章介绍了人工神经网络,并训练了第一个深度神经网络。 但它非常浅,只有两个隐藏层。 如果你需要解决非常复杂的问题,例如检测高分辨率图像中的数百种类型的对象,该怎么办? 你可能需要训练更深的 DNN,也许有 10 层或更多,每层包含数百个神经元,通过数十万个连接相连。 这可不像公园散步那么简单,可能碰到下面这些问题: 你将面临棘手的梯度消失问题(或相关的梯度爆炸问题):在反向传播过程中,梯度