深度学习随机生成(01)均匀分布的3行列示例张量t1,和满足标准正太分布的3行列示例张量t2。输出t1和t2的按元素加、减、乘、除结果将t1加、减、乘、除标量值2,输出结果。输出t1和t2的矩阵乘结果(是否相乘,需要如何做?)。
时间: 2024-09-16 09:06:11 浏览: 58
深度学习-数据预处理,张量降维
在Python中,我们可以使用NumPy库来创建所需的张量并进行各种操作。首先,我们定义一个3x3的二维数组(张量),其中每个元素分别服从均匀分布和标准正态分布。
```python
import numpy as np
# 创建均匀分布的张量t1
t1 = np.random.rand(3, 3)
print("均匀分布张量(t1):")
print(t1)
# 创建标准正态分布的张量t2
t2 = np.random.randn(3, 3)
print("\n标准正态分布张量(t2):")
print(t2)
# 按元素加、减、乘、除
elementwise_add = t1 + t2
elementwise_subtract = t1 - t2
elementwise_multiply = t1 * t2
elementwise_divide = t1 / t2 if t2.std() != 0 else t1 # 防止除数为零
print("\n按元素加法 (t1 + t2):")
print(elementwise_add)
print("\n按元素减法 (t1 - t2):")
print(elementwise_subtract)
print("\n按元素乘法 (t1 * t2):")
print(elementwise_multiply)
print("\n按元素除法 (t1 / t2) 或者防止除以零的情况:")
print(elementwise_divide)
# t1 加标量值2
scalar_add_t1 = t1 + 2
print("\nt1 加标量2:")
print(scalar_add_t1)
# t2 减标量值2
scalar_subtract_t2 = t2 - 2
print("\nt2 减标量2:")
print(scalar_subtract_t2)
# 矩阵乘法
if t1.shape[1] == t2.shape[0]: # 确保张量可以相乘
matrix_multiply = np.dot(t1, t2)
print("\n矩阵乘法 (t1 * t2):")
print(matrix_multiply)
else:
print("\nt1 和 t2 无法直接相乘,因为它们的列数(t1的第二个维度)和行数(t2的的第一个维度)不匹配。")
阅读全文