张量流如何处理无法存储在一个盒子中的大变量

2024-05-16

我想通过训练超过十亿特征维度的数据来训练 DNN 模型。因此第一层权重矩阵的形状将为(1,000,000,000, 512)。这个权重矩阵太大,无法存储在一个盒子中。

目前有没有什么解决方案来处理这么大的变量,例如将大的权重矩阵划分为多个框。

Update:

谢谢奥利维尔和凯维曼。让我添加有关我的问题的更多详细信息。 该示例非常稀疏,所有特征都是二进制值:0 或 1。参数权重看起来像 tf.Variable(tf.truncated_normal([1 000 000 000, 512],stddev=0.1))

kaveman给出的解决方案看起来很合理,我会在尝试后更新结果。


这个问题的答案很大程度上取决于您想要对权重矩阵执行什么操作。

处理如此大量特征的典型方法是处理512每个特征的向量作为嵌入。如果数据集中的每个示例仅具有 10 亿个特征中的一个,那么您可以使用tf.nn.embedding_lookup https://www.tensorflow.org/api_docs/python/tf/nn/embedding_lookup函数来查找小批量示例中存在的特征的嵌入。如果每个示例都有多个功能,但可能只有少数几个,那么您可以使用tf.nn.embedding_lookup_sparse https://www.tensorflow.org/api_docs/python/tf/nn/embedding_lookup_sparse查找嵌入。

在这两种情况下,您的权重矩阵可以分布在许多机器上。那就是params这两个函数的参数都是张量列表。您可以对大型权重矩阵进行分片并将分片放置在不同的机器中。请看tf.device https://www.tensorflow.org/api_docs/python/tf/deviceprimer https://www.tensorflow.org/deploy/distributed分布式执行,以了解数据和计算如何分布在许多机器上。

如果你确实想对权重矩阵进行一些密集运算,例如将矩阵与另一个矩阵相乘,这仍然是可以想象的,尽管 TensorFlow 中没有现成的方法来处理这个问题。您仍然需要在机器之间分割权重矩阵。但是,您必须在权重矩阵的分布式块上手动构建矩阵乘法序列,并将结果组合起来。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

张量流如何处理无法存储在一个盒子中的大变量 的相关文章

  • TensorFlow:带有轴选项的 bincount

    在 TensorFlow 中 我可以使用 tf bincount 获取数组中每个元素的计数 x tf placeholder tf int32 None freq tf bincount x tf Session run freq feed
  • Tensorflow 中的自定义资源

    由于某些原因 我需要为 Tensorflow 实现自定义资源 我试图从查找表实现中获得灵感 如果我理解得好的话 我需要实现3个TF操作 创建我的资源 资源的初始化 例如 在查找表的情况下填充哈希表 执行查找 查找 查询步骤 为了促进实施 我
  • Tensorflow 中的图像叠加图像卷积

    假设我有两组图像 A 和 B 每个图像都是 11X5x5x3 其中 11 是示例数量 5x5x3 是图像尺寸 Tensorflow 中是否有一种简单的方法可以对 A i 中的每个图像应用 B i 上的卷积 即 B i 扮演过滤器角色 A i
  • 如何将张量流模型部署到azure ml工作台

    我在用Azure ML Workbench执行二元分类 到目前为止 一切正常 我有很好的准确性 我想将模型部署为用于推理的 Web 服务 我真的不知道从哪里开始 azure 提供了这个doc https learn microsoft co
  • tf.gather_nd 直观上是做什么的?

    你能直观地解释一下或者举更多例子吗tf gather nd用于在 Tensorflow 中索引和切片为高维张量 我读了API https www tensorflow org api docs python tf gather nd 但它保
  • 使用大数据集在 Google Colab TPU 上训练 seq2seq 模型 - Keras

    我正在尝试使用 Google Colab TPU 上的 Keras 训练用于机器翻译的序列到序列模型 我有一个可以加载到内存中的数据集 但我必须对其进行预处理才能将其提供给模型 特别是 我需要将目标单词转换为一个热向量 并且在许多示例中 我
  • 在张量流中向卷积神经网络提供可变大小的输入

    我正在尝试使用 feed dict 参数将不同大小的 2d numpy 数组列表传递给卷积神经网络 x tf placeholder tf float32 batch size None None None y tf placeholder
  • 合并张量流数据集批次

    请考虑下面的代码 import tensorflow as tf import numpy as np simple features np array 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 simple labels
  • 使用队列从多个输入文件中统一采样

    我的数据集中的每个类都有一个序列化文件 我想使用队列来加载每个文件 然后将它们放入 RandomShuffleQueue 中 这样我就可以从每个类中获得随机的示例组合 我认为这段代码会起作用 在此示例中 每个文件有 10 个示例 filen
  • 具有不同尺寸图像的 Tensorflow 输入数据集

    我正在尝试使用不同大小的输入图像来训练完全卷积神经网络 我可以通过循环训练图像并在每次迭代时创建单个 numpy 输入来做到这一点 即 for image input label in zip image data labels train
  • 将 Keras 集成到 SKLearn 管道?

    我有一个 sklearn 管道 对异构数据类型 布尔 分类 数字 文本 执行特征工程 并想尝试使用神经网络作为我的学习算法来拟合模型 我遇到了输入数据形状的一些问题 我想知道我想做的事情是否可能 或者我是否应该尝试不同的方法 我尝试了几种不
  • 在c++中的嵌入式python中导入tensorflow时出错

    我的问题是关于在 C 程序中嵌入 Python 3 5 解释器以从 C 接收图像 并将其用作我训练的张量流模型的输入 当我在 python 代码中导入tensorflow库时 出现错误 其他库工作正常 简化后的代码如下 include
  • PyInstaller 是否包含 CUDA

    我正在开发一个Python脚本 我使用Python 3 7 3 它使用tensorflow gpu 1 14 0 并使用PyInstaller 3 5将此脚本转换为可执行文件 我使用的是 CUDA 10 0 和 cuDNN 7 6 1 我的
  • Tensorflow:Cuda 计算能力 3.0。所需的最低 Cuda 能力为 3.5

    我正在从源安装tensorflow 文档 https www tensorflow org versions r0 10 get started os setup html installing from sources Cuda驱动版本
  • 如何在张量流中使用带有估计器的衰减学习率?

    我正在尝试将 LinearClassifier 与具有衰减学习率的 GradientDescentOptimizer 一起使用 My code def main load data features np load data feature
  • TensorFlow:使用不同的输入张量重新运行网络?

    假设我在 TensorFlow 中有一个典型的 CNN 模型 def inference images images 4D tensor of batch size IMAGE SIZE IMAGE SIZE 3 size conv 1 c
  • Tensorflow 中使用 Adam Optimizer 时损失突然增加

    I am using a CNN for a regression task I use Tensorflow and the optimizer is Adam The network seems to converge perfectl
  • 如何在google colaboratory上使用GPU升级tensorflow

    目前google colaboratory使用tensorflow 1 4 1 我想升级到1 5 0版本 每次当我执行时 pip install upgrade tensorflow命令 notebook实例成功将tensorflow版本升
  • 如何在张量流中使用索引数组?

    如果给定一个矩阵a有形状 5 3 和索引数组b有形状 5 我们很容易得到对应的向量c通过 c a np arange 5 b 但是 我不能用张量流做同样的事情 a tf placeholder tf float32 shape 5 3 b
  • Tensorflow:无法在 gradle 中解析

    今天早上我打开 Android Studio 时 Gradle 尝试同步时出现以下错误 Error 103 13 Failed to resolve org tensorflow tensorflow android 按照他们的说明Gith

随机推荐