# PyTorch 中的矩阵、向量、标量之间的乘法
# 一、torch.mul()
# 注意:torch.mul() 是支持广播操作
# torch.mul(input, value, out=None)
# 用标量值 value 乘以输入 input 的每个元素,并返回一个新的结果张量。 out = tensor ∗ value
# 如果输入是FloatTensor or DoubleTensor类型,则 value 必须为实数,否则须为整数。【译注:似乎并非如此,无关输入类型,value取整数、实数皆可。】
# 参数:
# input (Tensor) – 输入张量
# value (Number) – 乘到每个元素的数
# out (Tensor, optional) – 输出张量
import torch
a = torch.randn(3)
print("a : ", a) # tensor([-1.6289, 0.2446, -0.3691])
print("a.size() : ", a.size()) # torch.Size([3])
mul_a_100 = torch.mul(a, 100)
print("mul_a_100 : ", mul_a_100) # tensor([-162.8945, 24.4566, -36.9136])
print("mul_a_100.size() : ", mul_a_100.size()) # torch.Size([3])
print("*" * 50)
# 两个张量 input, other 按元素进行相乘,并返回到输出张量。即计算 outi = inputi ∗ otheri
# 两计算张量形状不须匹配,但总元素数须一致。 注意:当形状不匹配时,input的形状作为输入张量的形状。
#
# 参数:
#
# input (Tensor) – 第一个相乘张量
# other (Tensor) – 第二个相乘张量
# out (Tensor, optional) – 结果张量
c = torch.randn(4, 4)
print(