1,二者都是用来在设备间传递数据的,比如gpu上的数据传到cpu上。
2,主要区别是,如果源和目标的context一致,as_in_context
不复制,而copyto
总是会新建内存。
>>> import mxnet as mx
>>> import mxnet.ndarray as nd
>>> y = nd.array([1, 2, 3], ctx=mx.gpu())
>>> z = nd.array([1, 2, 3], ctx=mx.gpu())
>>> yy = y.copyto(mx.gpu())
>>> zz = z.as_in_context(mx.gpu())
>>> (yy is y, zz is z)
(False, True)