首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >关于tf.keras SGD批量

关于tf.keras SGD批量
EN

Stack Overflow用户
提问于 2021-01-24 15:40:15
回答 1查看 137关注 0票数 0

我想在tf.keras中使用SGD优化器。但是SGD的细节说

梯度下降(与动量)优化器。

这是否意味着SGD不支持“数据集阶段的随机洗牌示例”?

我检查了SGD的来源,似乎没有随机的洗牌方法。我对SGD的理解是对随机样本应用梯度下降。

但它只在动量和nesterov的情况下进行梯度下降。

我在代码中定义的批处理大小是否代表SGD随机洗牌阶段?

如果是这样的话,它会随机地洗牌,但从不使用相同的数据集,不是吗?

我的理解正确吗?

我编写了关于批处理的代码如下所示。

代码语言:javascript
复制
    (x_train, y_train)).shuffle(10000).batch(32)

test_ds = tf.data.Dataset.from_tensor_slices((x_test, y_test)).batch(32)
EN

回答 1

Stack Overflow用户

发布于 2021-01-24 19:03:29

我不确定这是否是您要寻找的,但尝试使用tf.data.Dataset作为您的数据集。例如,对于mnist,您可以很容易地创建dataset变量,对示例进行洗牌并分批处理:

代码语言:javascript
复制
shuffle_buffer_size = 100
batch_size = 10
train, test = tf.keras.datasets.fashion_mnist.load_data()
images, labels = train
images = images/255
dataset = tf.data.Dataset.from_tensor_slices((images, labels))
dataset.shuffle(shuffle_buffer_size).batch(batch_size)

您可以查看有关数据集的教程:td.data

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65872559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档