cair / tmu

Implements the Tsetlin Machine, Coalesced Tsetlin Machine, Convolutional Tsetlin Machine, Regression Tsetlin Machine, and Weighted Tsetlin Machine, with support for continuous features, drop clause, Type III Feedback, focused negative sampling, multi-task classifier, autoencoder, literal budget, and one-vs-one multi-class classifier. TMU is written in Python with wrappers for C and CUDA-based clause evaluation and updating.
https://pypi.org/project/tmu/
MIT License
129 stars 14 forks source link

TMU learning faulty, shown in https://github.com/bimalb58/trec_exp #68

Open olegranmo opened 8 months ago

olegranmo commented 8 months ago

TMU learning faulty, shown in https://github.com/bimalb58/trec_exp

Testing error does not increase:

94.24 17.20 0.14 7.49 0.41 1 95.45 17.60 0.15 4.85 0.41 1 97.27 17.20 0.14 4.44 0.41 1 97.49 17.00 0.14 4.22 0.41 1 97.82 17.00 0.14 4.15 0.41 1 97.71 17.20 0.14 4.09 0.41 1 98.06 17.00 0.14 3.99 0.41 1 98.09 16.80 0.14 3.84 0.41 1 98.26 17.00 0.14 3.85 0.41 1 97.96 17.00 0.14 3.75 0.41 1 98.07 17.20 0.14 3.80 0.41 1 98.37 17.00 0.14 3.84 0.41 1 98.44 16.60 0.14 3.85 0.41 1 98.31 17.00 0.14 3.67 0.41 1 98.48 17.00 0.14 3.70 0.41 1 98.17 17.20 0.14 3.72 0.41 1 98.29 17.20 0.14 3.68 0.41 1 98.46 17.00 0.14 3.66 0.41 1 98.44 17.00 0.14 3.75 0.41 1 98.48 17.00 0.14 3.75 0.41 1 98.46 17.00 0.14 3.66 0.41 1 98.66 16.60 0.14 3.71 0.41 1 98.50 17.00 0.14 3.67 0.41 1 98.55 17.00 0.14 3.68 0.41 1 98.55 17.00 0.14 3.71 0.41 1 98.50 17.00 0.14 3.70 0.41 1 98.59 16.80 0.14 3.68 0.41 1 98.70 16.60 0.14 3.63 0.41 1 98.61 17.00 0.14 3.63 0.41 1 98.61 17.00 0.14 3.63 0.41 1 98.57 17.00 0.14 3.59 0.41 1 98.59 17.00 0.14 3.55 0.41 1 98.77 16.40 0.14 3.64 0.41 1 98.64 16.80 0.14 3.69 0.41 1 98.70 16.80 0.14 3.63 0.41 1 98.61 94.40 0.95 3.60 0.42 1

and then you get the following error:

Traceback (most recent call last): File "/data/trec_exp/./trec.py", line 169, in result = 100*(tm.predict(X_train) == Y_train).mean() File "/usr/local/lib/python3.10/dist-packages/tmu/models/classification/vanilla_classifier.py", line 430, in predict class_sums = np.array([ File "/usr/local/lib/python3.10/dist-packages/tmu/models/classification/vanilla_classifier.py", line 431, in self.predict_compute_class_sums( File "/usr/local/lib/python3.10/dist-packages/tmu/models/classification/vanilla_classifier.py", line 465, in predict_compute_class_sums self.clause_banks[ith_class].calculate_clause_outputs_predict(encoded_X_test, ith_sample) File "/usr/local/lib/python3.10/dist-packages/tmu/clause_bank/clause_bank_cuda.py", line 197, in calculate_clause_outputs_predict self.cuda_ctx.synchronize() pycuda._driver.LogicError: cuCtxSynchronize failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuModuleUnload failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered PyCUDA WARNING: a clean-up operation failed (dead context maybe?) cuMemFree failed: an illegal memory access was encountered