A little more digging today seems to confirm it’s just the missing _mmap property causing issues as the python script wasn’t handling the error and so the save_ubnne_network
method was never called.
By wrapping the error the training appears to complete correctly and the .ubnne file is created.
Python edit on nearestneighbormodel.py
located in UE_5.4\Engine\Plugins\Animation\MLDeformer\NearestNeighborModel\Content\Python
This is within the train
method at ln1296
finally:
if 'train_data' in locals():
inputs, outputs = train_data
if isinstance(outputs, np.memmap):
# inputs._mmap doesn't seem to exist, so wrapping in a try/except so that the network is saved when an error fires
try:
inputs._mmap.close()
except Exception as e:
ue.log_error("MARK:: ERROR")
ue.log_error(e)
del inputs, outputs
torch.cuda.empty_cache()
Leaving this as unresolved for the moment.