def tensor2state(tensor_frd, tensor_emy):
'''
transform tensor 2 state
tensor_frd, tensor_emy ndarray [9,10,16]
return state ndarray [10,9]
'''
assert tensor_frd.shape == tensor_emy.shape
state = np.zeros((10,9), dtype=np.str)
chessfrdplayer = 'KAABBNNRRCCPPPPP'
chessemyplayer = 'kaabbnnrrccppppp'
for i in range(tensor_frd.shape[0]):
for j in range(tensor_frd.shape[1]):
if ~(tensor_frd[i][j] == 0).all():
layer = np.argmax(tensor_frd[i][j])
state[j][i] = chessfrdplayer[layer]
elif ~(tensor_emy[i][j] == 0).all():
layer = np.argmax(tensor_emy[i][j])
state[j][i] = chessemyplayer[layer]
else:
state[j][i] = ' '
return state
评论列表
文章目录