我想将每个人的名字与一个数字列表相关联。
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
。
是否有另一种方法将张量的值与任意形状的列表相关联?
感谢您的帮助 :)
我想生成 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
?
感谢您的帮助!
我目前正在与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)
?
先感谢您!