tensorflow 随机采样

实现随机采样

dataset = tf.data.Dataset.from_tensor_slices((x, y))
dataset = dataset.shuffle(len(x)).batch(32)

train_size, val_size, test_size = 0.8, 0.1, 0.1

train_dataset = dataset.take(int(train_size * len(dataset)))
val_dataset = dataset.skip(int(train_size * len(dataset))).take(int(val_size * len(dataset)))
test_dataset = dataset.skip(int((train_size + val_size) * len(dataset)))

具体来说,这段代码首先使用 from_tensor_slices 方法将输入的 x 和 y 作为元组进行拼接,形成一个 tf.data.Dataset 对象。随后,使用 shuffle 方法对整个数据集进行乱序操作,然后使用 batch 方法将数据集划分为大小为 32 的 batch

接着,手动指定训练集、验证集和测试集的比例,并利用 takeskip 方法将整个数据集按照相应比例划分为三部分。其中,take 方法表示从数据集的开头取出指定数量的数据项,而 skip 方法表示跳过指定数量的数据项,从数据集的中间或结尾开始取数。最终,将三个子数据集存储到 train_dataset、val_datasettest_dataset 三个变量中,以供后续模型训练和评估使用。

将数据转换为numpy.array() 数组

  • 可以使用 tf.data.Dataset 实例的 as_numpy_iterator() 方法将其转换为 Numpy 数组迭代器,并使用 np.concatenate() 方法将它们合并成一个 Numpy 数组
test_images = []
test_labels = []

for image, label in test_dataset:
    test_images.append(image)
    test_labels.append(label)

test_images = tf.concat(test_images, axis=0)
test_labels = tf.concat(test_labels, axis=0)

predictions = model.predict(test_images, batch_size=batch_size)

在这个示例中,我们首先循环遍历测试数据集,并将每个样本的输入和标签分别添加到 test_images 和 test_labels 列表中。然后,我们使用 tf.concat() 方法将所有输入和标签连接成一个张量。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

简朴-ocean

继续进步

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值