根据std :: vector <tensor>值创建张量

时间:2018-09-02 16:56:07

标签: c++ tensorflow

我正在使用动态批次大小进行DQN培训。我有两张通行证:

第一遍: DNN使用不同的样本进行几次后续的前向传播,直到发生特定事件为止。在此步骤中,我保存所有输入(一维张量)以在第二遍中重播。因为使用C ++无法创建具有动态形状的Tensor,所以将它们存储为一维张量的std :: vector。

第二遍: 计算预期的输出,并使用相同的DNN执行正向传播和反向传播。这次我使用二维张量作为输入,一次计算所有样本。

问题是如何从一维张量向量中最有效地创建此二维输入张量?还是我做错了?

1 个答案:

答案 0 :(得分:0)

您可以从向量的向量中定义张量!定义一个向量,该向量的每个元素也是一个向量。 例如:

 vector<int> tensor(i,vector<int> (j)); //the size is i*j where i and j are integers

要访问ij的元素,您可以通过以下方式访问它:

tensor[i][j]

此张量的大小是动态的,因为向量的大小是动态的