Set 'floatx' to 'float64' in ~/.keras/keras.json or uncomment 1st line in be_hashfunc() from learnfuzzyhashinversion.py. -------------------------------- learnfuzzyhashinversion.py is the main script, run it like this: >python3 learnfuzzyhashinversion.py or from any IDE. In the former case, to interrupt training, run top and kill python3 process -------------------------------- Please check the training parameters at the beginning of learnfuzzyhashinversion.py, including: turn on/off model loading & saving, callbacks, general/single inversion mode, what hash to use, number of rounds, hash mask, message size, structure of network, regularization parameters, learning rate, number of test hashes, train & batch sizes, epochs -------------------------------- Uncomment # from fuzzyops_circ_numpy import * in fuzzyhash_numpy.py and # from fuzzyops_circ_backend import * in fuzzyhash_backend.py to switch to "circular" fuzzy bits & ops (bit domain is (-1;1]) from "standard" fuzzy ones (bit domain is [0;1]). And comment/uncomment corresponding lines in loss_func() from learnfuzzyhashinversion.py. -------------------------------- To verify hash calculation for byte strings, uncomment # test() in bytehash.py and run it. -------------------------------- To verify that fuzzy hashes are identical to usual ones for usual bit strings, uncomment # test() in fuzzyhash_numpy.py and fuzzyhash_backend.py and run them.