我有一个形状为(8, 8, 2)的数组,希望用这个数组训练一个神经网络。我还想在训练数据中添加一个整数,像这样:[array, int],但这样会得到一个形状为(2,)的数组,无法用于训练。有什么方法可以创建一个TensorFlow可以接受的数组,或者用这个新数组来训练神经网络吗?
我尝试将整数转换为向量并添加到数组中,这样得到的形状为(9, 8, 2),但这会导致很多冗余信息。
my_array = [[(rook, b), (horse, b), (bishop, b), (queen, b), (king, b), (bishop, b), (horse, b), (rook, b)], [(pawn, b) for i in range(8)], [(0, 0) for i in range(8)], [(0, 0) for i in range(8)], [(0, 0) for i in range(8)], [(0, 0) for i in range(8)], [(pawn, w) for i in range(8)], [(rook, w), (horse, w), (bishop, w), (queen, w), (king, w), (bishop, w), (horse, w), (rook, w)]]my_int = 1I_tried = my_array+[[(my_int, my_int) for i in range(8)]]print(numpy.array(my_array).shape) # --> (8, 8, 2)print(numpy.array(I_tried).shape) # --> (2,)
回答:
你可以考虑使用元组而不是列表,这取决于你进行这种拼接的目的。但你可以尝试这样做:
my_int = 1second_array = [(my_int, my_int) for i in range(8)]I_tried = (my_array, second_array)