- Tensor
- dtype
- grad
- name
- ndim
- persistable
- place
- shape
- stop_gradient
- abs(name=None)
- acos(name=None)
- add(y, name=None)
- add_n(inputs, name=None)
- addmm(x, y, beta=1.0, alpha=1.0, name=None)
- allclose(y, rtol=1e-05, atol=1e-08, equal_nan=False, name=None)
- argmax(axis=None, keepdim=False, dtype=int64, name=None)
- argmin(axis=None, keepdim=False, dtype=int64, name=None)
- argsort(axis=-1, descending=False, name=None)
- asin(name=None)
- astype(dtype)
- atan(name=None)
- backward(grad_tensor=None, retain_graph=False)
- bmm(y, name=None)
- broadcast_to(shape, name=None)
- cast(dtype)
- ceil(name=None)
- cholesky(upper=False, name=None)
- chunk(chunks, axis=0, name=None)
- clear_gradient()
- clip(min=None, max=None, name=None)
- clone()
- concat(axis=0, name=None)
- cos(name=None)
- cosh(name=None)
- cpu()
- cross(y, axis=None, name=None)
- cuda(device_id=None, blocking=False)
- cumsum(axis=None, dtype=None, name=None)
- detach()
- dim()
- dist(y, p=2)
- divide(y, name=None)
- dot(y, name=None)
- equal(y, name=None)
- equal_all(y, name=None)
- erf(name=None)
- exp(name=None)
- expand(shape, name=None)
- expand_as(y, name=None)
- flatten(start_axis=0, stop_axis=-1, name=None)
- flip(axis, name=None)
- floor(name=None)
- floor_divide(y, name=None)
- floor_mod(y, name=None)
- gather(index, axis=None, name=None)
- gather_nd(index, name=None)
- gradient()
- greater_equal(y, name=None)
- greater_than(y, name=None)
- histogram(bins=100, min=0, max=0)
- increment(value=1.0, in_place=True)
- index_sample(index)
- index_select(index, axis=0, name=None)
- inverse(name=None)
- is_empty(cond=None)
- isfinite(name=None)
- isinf(name=None)
- isnan(name=None)
- kron(y, name=None)
- less_equal(y, name=None)
- less_than(y, name=None)
- log(name=None)
- log1p(name=None)
- logical_and(y, out=None, name=None)
- logical_not(out=None, name=None)
- logical_or(y, out=None, name=None)
- logical_xor(y, out=None, name=None)
- logsigmoid()
- logsumexp(axis=None, keepdim=False, name=None)
- masked_select(mask, name=None)
- matmul(y, transpose_x=False, transpose_y=False, name=None)
- max(axis=None, keepdim=False, name=None)
- maximum(y, axis=-1, name=None)
- mean(axis=None, keepdim=False, name=None)
- min(axis=None, keepdim=False, name=None)
- minimum(y, axis=-1, name=None)
- mm(mat2, name=None)
- mod(y, name=None)
- multiplex(index)
- multiply(y, axis=-1, name=None)
- ndimension()
- nonzero(as_tuple=False)
- norm(p=fro, axis=None, keepdim=False, name=None)
- not_equal(y, name=None)
- numel(name=None)
- numpy()
- pin_memory(y, name=None)
- pow(y, name=None)
- prod(axis=None, keepdim=False, dtype=None, name=None)
- rank()
- reciprocal(name=None)
- register_hook(hook)
- remainder(y, name=None)
- reshape(shape, name=None)
- reverse(axis, name=None)
- roll(shifts, axis=None, name=None)
- round(name=None)
- rsqrt(name=None)
- scale(scale=1.0, bias=0.0, bias_after_scale=True, act=None, name=None)
- scatter(index, updates, overwrite=True, name=None)
- scatter_nd(updates, shape, name=None)
- scatter_nd_add(index, updates, name=None)
- set_value(value)
- shard_index(index_num, nshards, shard_id, ignore_value=-1)
- sign(name=None)
- sin(name=None)
- sinh(name=None)
- size()
- slice(axes, starts, ends)
- sort(axis=-1, descending=False, name=None)
- split(num_or_sections, axis=0, name=None)
- sqrt(name=None)
- square(name=None)
- squeeze(axis=None, name=None)
- stack(axis=0, name=None)
- stanh(scale_a=0.67, scale_b=1.7159, name=None)
- std(axis=None, unbiased=True, keepdim=False, name=None)
- strided_slice(axes, starts, ends, strides)
- sum(axis=None, dtype=None, keepdim=False, name=None)
- sums(out=None)
- t(name=None)
- tanh(name=None)
- tile(repeat_times, name=None)
- topk(k, axis=None, largest=True, sorted=True, name=None)
- trace(offset=0, axis1=0, axis2=1, name=None)
- transpose(perm, name=None)
- unbind(axis=0)
- unique(return_index=False, return_inverse=False, return_counts=False, axis=None, dtype=int64, name=None)
- unique_with_counts(dtype=int32)
- unsqueeze(axis, name=None)
- unstack(axis=0, num=None)
- var(axis=None, unbiased=True, keepdim=False, name=None)
- where(x, y, name=None)
- 使用本API的教程文档
Tensor
class paddle. Tensor
Tensor
是Paddle中最为基础的数据结构,有几种创建Tensor的不同方式:
用预先存在的
data
数据创建1个Tensor,请参考 to_tensor创建一个与其他Tensor具有相同
shape
与dtype
的Tensor,请参考 ones_like 、 zeros_like 、 full_like
dtype
查看一个Tensor的数据类型,支持:’bool’,’float16’,’float32’,’float64’,’uint8’,’int8’,’int16’,’int32’,’int64’ 类型。
代码示例
import paddle
x = paddle.to_tensor([1.0, 2.0, 3.0])
print("tensor's type is: {}".format(x.dtype))
grad
查看一个Tensor的梯度,数据类型为numpy.ndarray。
代码示例
import paddle
x = paddle.to_tensor([1.0, 2.0, 3.0], stop_gradient=False)
y = paddle.to_tensor([4.0, 5.0, 6.0], stop_gradient=False)
z = x * y
z.backward()
print("tensor's grad is: {}".format(x.grad))
name
查看一个Tensor的name,Tensor的name是其唯一标识符,为python的字符串类型。
代码示例
import paddle
print("Tensor name: ", paddle.to_tensor(1).name)
# Tensor name: generated_tensor_0
ndim
查看一个Tensor的维度,也称作rank。
代码示例
import paddle
print("Tensor's number of dimensition: ", paddle.to_tensor([[1, 2], [3, 4]]).ndim)
# Tensor's number of dimensition: 2
persistable
查看一个Tensor的persistable属性,该属性为True时表示持久性变量,持久性变量在每次迭代之后都不会删除。模型参数、学习率等Tensor,都是 持久性变量。
代码示例
import paddle
print("Whether Tensor is persistable: ", paddle.to_tensor(1).persistable)
# Whether Tensor is persistable: false
place
查看一个Tensor的设备位置,Tensor可能的设备位置有三种:CPU/GPU/固定内存,其中固定内存也称为不可分页内存或锁页内存, 其与GPU之间具有更高的读写效率,并且支持异步传输,这对网络整体性能会有进一步提升,但其缺点是分配空间过多时可能会降低主机系统的性能, 因为其减少了用于存储虚拟内存数据的可分页内存。
代码示例
import paddle
cpu_tensor = paddle.to_tensor(1, place=paddle.CPUPlace())
print(cpu_tensor.place)
shape
查看一个Tensor的shape,shape是Tensor的一个重要的概念,其描述了tensor在每个维度上的元素数量。
代码示例
import paddle
print("Tensor's shape: ", paddle.to_tensor([[1, 2], [3, 4]]).shape)
# Tensor's shape: [2, 2]
stop_gradient
查看一个Tensor是否计算并传播梯度,如果stop_gradient为True,则该Tensor不会计算梯度,并会阻绝Autograd的梯度传播。 反之,则会计算梯度并传播梯度。用户自行创建的的Tensor,默认是True,模型参数的stop_gradient都为False。
代码示例
import paddle
print("Tensor's stop_gradient: ", paddle.to_tensor([[1, 2], [3, 4]]).stop_gradient)
# Tensor's stop_gradient: True
abs(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 abs
acos(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 acos
add(y, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 add
add_n(inputs, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 add_n
addmm(x, y, beta=1.0, alpha=1.0, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 addmm
allclose(y, rtol=1e-05, atol=1e-08, equal_nan=False, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 allclose
argmax(axis=None, keepdim=False, dtype=int64, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 argmax
argmin(axis=None, keepdim=False, dtype=int64, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 argmin
argsort(axis=-1, descending=False, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 argsort
asin(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 asin
astype(dtype)
将Tensor的类型转换为 dtype
,并返回一个新的Tensor。
参数:
- dtype (str) - 转换后的dtype,支持’bool’,’float16’,’float32’,’float64’,’int8’,’int16’, ‘int32’,’int64’,’uint8’。
返回:类型转换后的新的Tensor
返回类型:Tensor
代码示例
import paddle
x = paddle.to_tensor(1.0)
print("original tensor's dtype is: {}".format(x.dtype))
print("new tensor's dtype is: {}".format(x.astype('float64').dtype))
atan(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 atan
backward(grad_tensor=None, retain_graph=False)
从当前Tensor开始计算反向的神经网络,传导并计算计算图中Tensor的梯度。
参数:
grad_tensor (Tensor, optional) - 当前Tensor的初始梯度值。如果
grad_tensor
是None, 当前Tensor 的初始梯度值将会是值全为1.0的Tensor;如果grad_tensor
不是None,必须和当前Tensor有相同的长度。默认值:None。retain_graph (bool, optional) - 如果为False,反向计算图将被释放。如果在backward()之后继续添加OP, 需要设置为True,此时之前的反向计算图会保留。将其设置为False会更加节省内存。默认值:False。
返回:无
代码示例
import paddle
x = paddle.to_tensor(5., stop_gradient=False)
for i in range(5):
y = paddle.pow(x, 4.0)
y.backward()
print("{}: {}".format(i, x.grad))
# 0: [500.]
# 1: [1000.]
# 2: [1500.]
# 3: [2000.]
# 4: [2500.]
x.clear_grad()
print("{}".format(x.grad))
# 0.
grad_tensor=paddle.to_tensor(2.)
for i in range(5):
y = paddle.pow(x, 4.0)
y.backward(grad_tensor)
print("{}: {}".format(i, x.grad))
# 0: [1000.]
# 1: [2000.]
# 2: [3000.]
# 3: [4000.]
# 4: [5000.]
bmm(y, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 bmm
broadcast_to(shape, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 expand ,API功能相同。
cast(dtype)
返回:计算后的Tensor
返回类型:Tensor
请参考 cast
ceil(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 ceil
cholesky(upper=False, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 cholesky
chunk(chunks, axis=0, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 chunk
clear_gradient()
清除当前Tensor的梯度。
返回:无
代码示例
import paddle
import numpy as np
x = np.ones([2, 2], np.float32)
inputs2 = []
for _ in range(10):
tmp = paddle.to_tensor(x)
tmp.stop_gradient=False
inputs2.append(tmp)
ret2 = paddle.add_n(inputs2)
loss2 = paddle.sum(ret2)
loss2.backward()
print(loss2.gradient())
loss2.clear_gradient()
print("After clear {}".format(loss2.gradient()))
clip(min=None, max=None, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 cn_api_fluid_layers_clip
clone()
复制当前Tensor,并且保留在原计算图中进行梯度传导。
返回:clone后的Tensor
代码示例
import paddle
x = paddle.to_tensor(1.0, stop_gradient=False)
clone_x = x.clone()
y = clone_x**2
y.backward()
print(clone_x.stop_gradient) # False
print(clone_x.grad) # [2.0], support gradient propagation
print(x.stop_gradient) # False
print(x.grad) # [2.0], clone_x support gradient propagation for x
x = paddle.to_tensor(1.0)
clone_x = x.clone()
clone_x.stop_gradient = False
z = clone_x**3
z.backward()
print(clone_x.stop_gradient) # False
print(clone_x.grad) # [3.0], support gradient propagation
print(x.stop_gradient) # True
print(x.grad) # None
concat(axis=0, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 concat
cos(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 cos
cosh(name=None)
对该Tensor中的每个元素求双曲余弦。
返回类型:Tensor
请参考 cosh
代码示例
import paddle
x = paddle.to_tensor([-0.4, -0.2, 0.1, 0.3])
out = paddle.cosh(x)
print(out)
# [1.08107237 1.02006674 1.00500417 1.04533851]
cpu()
将当前Tensor的拷贝到CPU上,且返回的Tensor不保留在原计算图中。
如果当前Tensor已经在CPU上,则不会发生任何拷贝。
返回:拷贝到CPU上的Tensor
代码示例
import paddle
x = paddle.to_tensor(1.0, place=paddle.CUDAPlace(0))
print(x.place) # CUDAPlace(0)
y = x.cpu()
print(y.place) # CPUPlace
cross(y, axis=None, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 cross
cuda(device_id=None, blocking=False)
将当前Tensor的拷贝到GPU上,且返回的Tensor不保留在原计算图中。
如果当前Tensor已经在GPU上,且device_id为None,则不会发生任何拷贝。
参数:
device_id (int, optional) - 目标GPU的设备Id,默认为None,此时为当前Tensor的设备Id,如果当前Tensor不在GPU上,则为0。
blocking (bool, optional) - 如果为False并且当前Tensor处于固定内存上,将会发生主机到设备端的异步拷贝。否则,会发生同步拷贝。默认为False。
返回:拷贝到GPU上的Tensor
代码示例
import paddle
x = paddle.to_tensor(1.0, place=paddle.CPUPlace())
print(x.place) # CPUPlace
y = x.cuda()
print(y.place) # CUDAPlace(0)
y = x.cuda(1)
print(y.place) # CUDAPlace(1)
cumsum(axis=None, dtype=None, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 cumsum
detach()
返回一个新的Tensor,从当前计算图分离。
返回:与当前计算图分离的Tensor。
代码示例
import paddle
import numpy as np
data = np.random.uniform(-1, 1, [30, 10, 32]).astype('float32')
linear = paddle.nn.Linear(32, 64)
data = paddle.to_tensor(data)
x = linear(data)
y = x.detach()
dim()
查看一个Tensor的维度,也称作rank。
代码示例
import paddle
print("Tensor's number of dimensition: ", paddle.to_tensor([[1, 2], [3, 4]]).dim())
# Tensor's number of dimensition: 2
dist(y, p=2)
返回:计算后的Tensor
返回类型:Tensor
请参考 dist
divide(y, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 divide
dot(y, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 dot
equal(y, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 equal
equal_all(y, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 equal_all
erf(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 erf
exp(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 exp
expand(shape, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 expand
expand_as(y, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 expand_as
flatten(start_axis=0, stop_axis=-1, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 flatten
flip(axis, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 flip
floor(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 floor
floor_divide(y, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 floor_divide
floor_mod(y, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 mod
gather(index, axis=None, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 gather
gather_nd(index, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 gather_nd
gradient()
与 Tensor.grad
相同,查看一个Tensor的梯度,数据类型为numpy.ndarray。
返回:该Tensor的梯度 返回类型:numpy.ndarray
代码示例
import paddle
x = paddle.to_tensor([1.0, 2.0, 3.0], stop_gradient=False)
y = paddle.to_tensor([4.0, 5.0, 6.0], stop_gradient=False)
z = x * y
z.backward()
print("tensor's grad is: {}".format(x.grad))
greater_equal(y, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 greater_equal
greater_than(y, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 greater_than
histogram(bins=100, min=0, max=0)
返回:计算后的Tensor
返回类型:Tensor
请参考 histogram
increment(value=1.0, in_place=True)
返回:计算后的Tensor
返回类型:Tensor
请参考 cn_api_fluid_layers_increment
index_sample(index)
返回:计算后的Tensor
返回类型:Tensor
请参考 index_sample
index_select(index, axis=0, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 index_select
inverse(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 inverse
is_empty(cond=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 is_empty
isfinite(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 isfinite
isinf(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 isinf
isnan(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 isnan
kron(y, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 kron
less_equal(y, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 less_equal
less_than(y, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 less_than
log(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 log
log1p(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 log1p
logical_and(y, out=None, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 logical_and
logical_not(out=None, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 logical_not
logical_or(y, out=None, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 logical_or
logical_xor(y, out=None, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 logical_xor
logsigmoid()
返回:计算后的Tensor
返回类型:Tensor
请参考 cn_api_fluid_layers_logsigmoid
logsumexp(axis=None, keepdim=False, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 logsumexp
masked_select(mask, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 masked_select
matmul(y, transpose_x=False, transpose_y=False, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 matmul
max(axis=None, keepdim=False, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 max
maximum(y, axis=-1, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 maximum
mean(axis=None, keepdim=False, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 mean
min(axis=None, keepdim=False, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 min
minimum(y, axis=-1, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 minimum
mm(mat2, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 mm
mod(y, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 mod
multiplex(index)
返回:计算后的Tensor
返回类型:Tensor
请参考 multiplex
multiply(y, axis=-1, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 multiply
ndimension()
查看一个Tensor的维度,也称作rank。
代码示例
import paddle
print("Tensor's number of dimensition: ", paddle.to_tensor([[1, 2], [3, 4]]).ndimension())
# Tensor's number of dimensition: 2
nonzero(as_tuple=False)
返回:计算后的Tensor
返回类型:Tensor
请参考 nonzero
norm(p=fro, axis=None, keepdim=False, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 norm
not_equal(y, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 not_equal
numel(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 numel
numpy()
将当前Tensor转化为numpy.ndarray。
返回:Tensor转化成的numpy.ndarray。 返回类型:numpy.ndarray
代码示例
import paddle
import numpy as np
data = np.random.uniform(-1, 1, [30, 10, 32]).astype('float32')
linear = paddle.nn.Linear(32, 64)
data = paddle.to_tensor(data)
x = linear(data)
print(x.numpy())
pin_memory(y, name=None)
将当前Tensor的拷贝到固定内存上,且返回的Tensor不保留在原计算图中。
如果当前Tensor已经在固定内存上,则不会发生任何拷贝。
返回:拷贝到固定内存上的Tensor
代码示例
import paddle
x = paddle.to_tensor(1.0, place=paddle.CUDAPlace(0))
print(x.place) # CUDAPlace(0)
y = x.pin_memory()
print(y.place) # CUDAPinnedPlace
pow(y, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 cn_api_fluid_layers_pow
prod(axis=None, keepdim=False, dtype=None, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 prod
rank()
返回:计算后的Tensor
返回类型:Tensor
请参考 rank
reciprocal(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 reciprocal
register_hook(hook)
为当前 Tensor 注册一个反向的 hook 函数。
该被注册的 hook 函数将会在每次当前 Tensor 的梯度 Tensor 计算完成时被调用。
被注册的 hook 函数不会修改输入的梯度 Tensor ,但是 hook 可以返回一个新的临时梯度 Tensor 代替当前 Tensor 的梯度继续进行反向传播。
输入的 hook 函数写法如下:
hook(grad) -> Tensor or None
参数:
- hook (function) - 一个需要注册到 Tensor.grad 上的 hook 函数
返回:一个能够通过调用其 remove()
方法移除所注册 hook 的对象
返回类型:TensorHookRemoveHelper
代码示例
import paddle
# hook function return None
def print_hook_fn(grad):
print(grad)
# hook function return Tensor
def double_hook_fn(grad):
grad = grad * 2
return grad
x = paddle.to_tensor([0., 1., 2., 3.], stop_gradient=False)
y = paddle.to_tensor([4., 5., 6., 7.], stop_gradient=False)
z = paddle.to_tensor([1., 2., 3., 4.])
# one Tensor can register multiple hooks
h = x.register_hook(print_hook_fn)
x.register_hook(double_hook_fn)
w = x + y
# register hook by lambda function
w.register_hook(lambda grad: grad * 2)
o = z.matmul(w)
o.backward()
# print_hook_fn print content in backward
# Tensor(shape=[4], dtype=float32, place=CUDAPlace(0), stop_gradient=False,
# [2., 4., 6., 8.])
print("w.grad:", w.grad) # w.grad: [1. 2. 3. 4.]
print("x.grad:", x.grad) # x.grad: [ 4. 8. 12. 16.]
print("y.grad:", y.grad) # y.grad: [2. 4. 6. 8.]
# remove hook
h.remove()
remainder(y, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 mod
reshape(shape, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 reshape
reverse(axis, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 reverse
roll(shifts, axis=None, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 roll
round(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 round
rsqrt(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 rsqrt
scale(scale=1.0, bias=0.0, bias_after_scale=True, act=None, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 scale
scatter(index, updates, overwrite=True, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 scatter
scatter_nd(updates, shape, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 scatter_nd
scatter_nd_add(index, updates, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 scatter_nd_add
set_value(value)
设置当前Tensor的值。
参数:
- value (Tensor|np.ndarray) - 需要被设置的值,类型为Tensor或者numpy.array。
代码示例
import paddle
import numpy as np
data = np.ones([3, 1024], dtype='float32')
linear = paddle.nn.Linear(1024, 4)
input = paddle.to_tensor(data)
linear(input) # call with default weight
custom_weight = np.random.randn(1024, 4).astype("float32")
linear.weight.set_value(custom_weight) # change existing weight
out = linear(input) # call with different weight
返回:计算后的Tensor
shard_index(index_num, nshards, shard_id, ignore_value=-1)
返回类型:Tensor
请参考 shard_index
sign(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 sign
sin(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 sin
sinh(name=None)
对该Tensor中逐个元素求双曲正弦。
代码示例
import paddle
x = paddle.to_tensor([-0.4, -0.2, 0.1, 0.3])
out = x.sinh()
print(out)
# [-0.41075233 -0.201336 0.10016675 0.30452029]
size()
返回:计算后的Tensor
返回类型:Tensor
请参考 size
slice(axes, starts, ends)
返回:计算后的Tensor
返回类型:Tensor
请参考 slice
请参考 cn_api_fluid_layers_softsign
sort(axis=-1, descending=False, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 sort
split(num_or_sections, axis=0, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 split
sqrt(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 sqrt
square(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 square
squeeze(axis=None, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 squeeze
stack(axis=0, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 stack
stanh(scale_a=0.67, scale_b=1.7159, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 stanh
std(axis=None, unbiased=True, keepdim=False, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 std
strided_slice(axes, starts, ends, strides)
返回:计算后的Tensor
返回类型:Tensor
请参考 strided_slice
sum(axis=None, dtype=None, keepdim=False, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 sum
sums(out=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 sums
t(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 t
tanh(name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 tanh
tile(repeat_times, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 tile
topk(k, axis=None, largest=True, sorted=True, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 topk
trace(offset=0, axis1=0, axis2=1, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 trace
transpose(perm, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 transpose
unbind(axis=0)
返回:计算后的Tensor
返回类型:Tensor
请参考 cn_api_paddle_tensor_unbind
unique(return_index=False, return_inverse=False, return_counts=False, axis=None, dtype=int64, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 unique
unique_with_counts(dtype=int32)
返回:计算后的Tensor
返回类型:Tensor
unsqueeze(axis, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 unsqueeze
unstack(axis=0, num=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 unstack
var(axis=None, unbiased=True, keepdim=False, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 var
where(x, y, name=None)
返回:计算后的Tensor
返回类型:Tensor
请参考 where