add selfassi in train
fix bug
add self assign to test
second version of self-assign in train