小编Viv*_*ian的帖子

tf.lookup.StaticHashTable,以列表(任意大小)作为值

我想将每个人的名字与一个数字列表相关联。

keys = ["Fritz", "Franz", "Fred"]
values = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]
Run Code Online (Sandbox Code Playgroud)

如果我运行以下命令:

import tensorflow as tf
table = tf.lookup.StaticHashTable(tf.lookup.KeyValueTensorInitializer(keys, values), default_value=0)
Run Code Online (Sandbox Code Playgroud)

,我得到 aValueError: Can't convert non-rectangular Python sequence to Tensor. 因为列表大小不同,因此无法转换为 a tf.Tensor

是否有另一种方法将张量的值与任意形状的列表相关联?

感谢您的帮助 :)

python lookup dictionary hashtable tensorflow

5
推荐指数
1
解决办法
2307
查看次数

TensorFlow:将 tf.Dataset 转换为 tf.Tensor

我想生成 10 范围内的窗口:

import tensorflow as tf

dataset = tf.data.Dataset.from_tensor_slices(tf.range(10))
dataset = dataset.window(5, shift=1, drop_remainder=True)
Run Code Online (Sandbox Code Playgroud)

并想在这个数据集上训练我的模型。

为此,必须将这些窗口转换为张量。但这些窗口的数据类型无法转换tf.convert_to_tensor为张量。这是可以做到的tf.convert_to_tensor(list(window)),但是效率很低。

有谁知道如何tf.VariantDataset有效地将 a 转换为 a tf.Tensor

感谢您的帮助!

python dataset tensorflow tensorflow-datasets tensorflow2.0

5
推荐指数
1
解决办法
2088
查看次数

torch.nn.CrossEntropyLoss 多个批次

我目前正在与torch.nn.CrossEntropyLoss. 据我所知,批量计算损失是很常见的。但是,是否有可能计算多个批次的损失?

更具体地说,假设我们给出了数据

import torch

features = torch.randn(no_of_batches, batch_size, feature_dim)
targets = torch.randint(low=0, high=10, size=(no_of_batches, batch_size))

loss_function = torch.nn.CrossEntropyLoss()
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以一行计算

loss = loss_function(features, targets) # raises RuntimeError: Expected target size [no_of_batches, feature_dim], got [no_of_batches, batch_size]
Run Code Online (Sandbox Code Playgroud)

先感谢您!

cross-entropy pytorch loss-function pytorch-dataloader

5
推荐指数
1
解决办法
4300
查看次数