gpt4 book ai didi

mxnet - 如何将元素附加到 mxnet NDArray?

转载 作者:行者123 更新时间:2023-12-02 20:26:04 28 4
gpt4 key购买 nike

在 numpy 中,可以使用 np.append() 将元素附加到数组。

尽管 numpy 和 mxnet 数组应该是相似的,但 NDArray 类中没有append() 函数。

更新(18/04/24):谢谢汤姆。事实上,我试图在 numpy 中实现的目标是:

import numpy as np
np_a1 = np.empty((0,3), int)
np_a1 = np.append(np_a1, np.array([[1,2,3],[4,5,6]]), axis=0)
np_a1 = np.append(np_a1, np.array([[7,8,9]]), axis=0)
print("\nnp_a1:\n", np_a1)
print(np_a1.shape)

感谢您的回答,我做到了:

import mxnet as mx
nd_a1 = mx.nd.array([[0, 0, 0]])
# nd_a1 = mx.nd.empty((0,3))
nd_a1 = mx.nd.concat(nd_a1, mx.nd.array([[1,2,3],[4,5,6]]), dim=0)
nd_a1 = mx.nd.concat(nd_a1, mx.nd.array([[7, 8, 9]]), dim=0)
print("\nnd_a1", nd_a1)
print(nd_a1.shape)

但我不知道如何从空的 nd 数组开始。开始于:

nd_a1 = mx.nd.empty((0,3))

不起作用

最佳答案

您可以使用mx.nd.concat来实现这一点。使用 numpy 文档中给出的示例,您需要在连接之前注意维度。 MXNet 可以很好地处理批量数据(如果是批量维度,则通常是第一个维度),因为这在训练/使用神经网络时很有用,但这使得下面的示例看起来比实际情况更复杂。

import numpy as np
import mxnet as mx

a = np.array([1, 2, 3])
b = np.array([[4, 5, 6], [7, 8, 9]])
out = np.append(a, b)
print(out)

a = mx.nd.array([1, 2, 3])
b = mx.nd.array([[4, 5, 6], [7, 8, 9]])
a = a.expand_dims(0)
out = mx.nd.concat(a, b, dim=0)
out = out.reshape(shape=(-1,))
print(out)

关于mxnet - 如何将元素附加到 mxnet NDArray?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49873467/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com