import numpy as np import uctc.nn as nn tensor1 = np.random.rand(42, 48) tensor2 = nn.pyarray_to_tensor(tensor1) t_tensor1 = tensor1.transpose() t_tensor2 = tensor2.transpose() t_2data = t_tensor2.data() t_1data = t_tensor1.flatten().tolist() def is_close(x, y): return abs(x - y) < 1e-5 for i in range(len(t_1data)): if not is_close(t_1data[i], t_2data[i]): print(f"\033[1;31mTask 13 Error: t1 data[{i}] != t2 data[{i}]\033[0m") exit(0) at2 = nn.argmax(tensor2, 0).data() at1 = np.argmax(tensor1, 0).flatten().tolist() for i in range(len(at1)): if not is_close(at1[i], at2[i]): print(f"\033[1;31mTask 14 Error: at1 data[{i}] != at2 data[{i}]\033[0m") exit(0) at4 = nn.argmax(tensor2, 1).data() at3 = np.argmax(tensor1, 1).flatten().tolist() for i in range(len(at1)): if not is_close(at1[i], at2[i]): print(f"\033[1;31mTask 14 Error: at3 data[{i}] != at4 data[{i}]\033[0m") exit(0) print(f"\033[1;32m[PASSED] Task 13-14 finished!\033[0m")