Why don’t you check the type of X1, X2, y?
As the error message, I think tensorflow tried to convert a numpy array which is dict() in fact to tensor, so failed converting.
If you don’t make any function array() besides, how about using numpy.array()?