Releases: drhuffman12/ai4cr
Releases · drhuffman12/ai4cr
0.1.25 utility code for parsing text and training/monitoring a Rnn net with it
drhuffman12/add_team_utils_part_8_redo (#65) * drhuffman12/add_team_utils_part_8_redo pull some changes from 'drhuffman12/add_team_utils_part_8' branch and adjust/pend tests to get them to pass * drhuffman12/add_team_utils_part_8_redo fix typo
0.1.24 mods re training a team of RNN nets on a text file
Drhuffman12/add team utils part 7 redo (#63) * update command line for example re 'spec_bench/ai4cr/neural_network/rnn/rnn_simple_manager_spec.cr' * drhuffman12/add_team_utils_part_7_redo 'src' changes re clone vs to/from json * drhuffman12/add_team_utils_part_7_redo 'spec' and 'spec_bench' changes re clone vs to/from json, etc * drhuffman12/add_team_utils_part_7_redo formatting * drhuffman12/add_team_utils_part_7_redo log less often * drhuffman12/add_team_utils_part_7_redo log more often * drhuffman12/add_team_utils_part_7_redo add name suffix re breed type * drhuffman12/add_team_utils_part_7_redo formatting * drhuffman12/add_team_utils_part_7_redo round the comparative 'when_delta' times * drhuffman12/add_team_utils_part_7_redo pend a 'chain' spec (for now) * drhuffman12/add_team_utils_part_7_redo TODO: Refactor and enable breeding (similar to RnnSimple)! (and adjust specs) * drhuffman12/add_team_utils_part_7_redo enable tests re w/ more time col's and additional io files combo's * drhuffman12/add_team_utils_part_7_redo adjust propagation_function to handle NAN and Infinity; TODO: review andlikewise for other prop func cases * drhuffman12/add_team_utils_part_7_redo formatting * drhuffman12/add_team_utils_part_7_redo more NAN handling for 'Cmn::MiniNetConcerns::CalcGuess#propagation_function'; ameba-ize * drhuffman12/add_team_utils_part_7_redo misc tweeks * drhuffman12/add_team_utils_part_7_redo add 'purge_replace' helper * drhuffman12/add_team_utils_part_7_redo formatting * drhuffman12/add_team_utils_part_7_redo only show purge comment if members were purged * drhuffman12/add_team_utils_part_7_redo update test data file path * drhuffman12/add_team_utils_part_7_redo bench tests: revert from tiny hidden size to auto-calc'd, skip team sizes of 1 and 2 members for more complex RNN nets/data; re-org 'train_team_using_sequence'; start RELU net weights tiny; step_update_weights as serial instead of parallel; comment out 'purge_error_limit' code; formatting * drhuffman12/add_team_utils_part_7_redo re-enable purging/replacing members; re-enable 'traing_qty' * drhuffman12/add_team_utils_part_7_redo formatting * drhuffman12/add_team_utils_part_7_redo re-enable 'purge_error_limit' params for 'train_team_using_sequence(..)' * drhuffman12/add_team_utils_part_7_redo rename to 'infinite?' * drhuffman12/add_team_utils_part_7_redo members added during purge get named 'P' * drhuffman12/add_team_utils_part_7_redo use 'score' in the purge * move 'train_qty' so as to affect all tests under "when using a text file as io data" * drhuffman12/add_team_utils_part_7_redo move 'train_qty' so as to affect all tests under "when using a text file as io data" * drhuffman12/add_team_utils_part_7_redo adjust the purge process * drhuffman12/add_team_utils_part_7_redo switch back to using 'score' instead of 'distance' for purging * drhuffman12/add_team_utils_part_7_redo re-enable team of 8 in benches * drhuffman12/add_team_utils_part_7_redo add a hidden layer for the rnn text spec * drhuffman12/add_team_utils_part_7_redo bump up to 16 tc's and 4 hl's * drhuffman12/add_team_utils_part_7_redo bump down to 8 tc's and 4 hl's * drhuffman12/add_team_utils_part_7_redo in 'purge_replace', breed purged member with rand_excluding new membere so we retain some of the training * drhuffman12/add_team_utils_part_7_redo move expect's next to each other * drhuffman12/add_team_utils_part_7_redo note 'inputs_sequence' index 'i' in purge output * drhuffman12/add_team_utils_part_7_redo add 'weight_init_scale*' and auto-scale it; convert some 'TextFile' methods to class methods; add example unicode text file; large vs small RNN size test params; add text output of expected vs actual guesses * drhuffman12/add_team_utils_part_7_redo output formatting * drhuffman12/add_team_utils_part_7_redo adjust outputs and for a 'mid-sized rnn' * drhuffman12/add_team_utils_part_7_redo output should handle less than 32 bits * drhuffman12/add_team_utils_part_7_redo misc tweeks; bump 1st textfile team size up to 10 * drhuffman12/add_team_utils_part_7_redo adjust rnn params; add and revert auto_shrink_weights * drhuffman12/add_team_utils_part_7_redo add timestamp * drhuffman12/add_team_utils_part_7_redo update shards * drhuffman12/add_team_utils_part_7_redo update shards, ameba formatting * drhuffman12/add_team_utils_part_7_redo ameba formatting * drhuffman12 misc cleanup re Crystal v1.0 and other updated shards * drhuffman12 add 'default_to_bit_size' e.g.: to allow forcing from 32bit utf down to 8bit ascii (ignoring higher bits) * drhuffman12 adjust bench params and update README.md * drhuffman12 try 4 hidden layers * drhuffman12 spec_bench w/ 3 hidden layers; TODO: Replace(?)/Supplement(?) below with actual UTF-to-ASCII conversion! (And ASCII-to-UTF reversion) * drhuffman12 tweek bench params * drhuffman12 attempts to get better and quicker RNN results and improved visuals of result progress * drhuffman12/add_team_utils_part_7_redo add system monitoring data to the 'tmp/log.txt' file; formatting * drhuffman12 adjust mem logging; formatting * drhuffman12 add histogram of correct chars * drhuffman12 formatting * drhuffman12 trim logging * drhuffman12 round percentages * drhuffman12 adjust histograms * drhuffman12 adjust histograms * drhuffman12 adjust histograms * drhuffman12 adjust histograms * drhuffman12 reset histograms * drhuffman12 rename 'all_hists' to 'recent_hists' * drhuffman12 set default_to_bit_size to 8 for 'examples/rnn_simple_manager_example.cr * drhuffman12 add second round of training (hopefully will all be 6/6 correct) for whole set of io's in 'examples/rnn_simple_manager_example.cr * drhuffman12 add current time to logging * drhuffman12 add auto-save option to manager * drhuffman12 code cleanup * drhuffman12 formatting * drhuffman12 formatting * drhuffman12 fix 'validate! re hidden_size_given; note re 'implement bi-directional RNN in the next phase' * drhuffman12 Drop 'PURGE_ERROR_LIMIT_SCALE' from 1e12 to 1e4 (to keep weights and guesses from going extreme). * drhuffman12 revert 'INPUT_SIZE_MIN' to '2' with TODO comment * drhuffman12 better error handling for auto-saving the trained nets * drhuffman12 adjust naming for auto-save of nets to show which guesses are correct
0.1.23 misc CI, team, and utility mods
- misc CI config changes
- misc team training/eval mods and cleanup
- misc utility code
- version bump
0.1.22 Breed Managers for MiniNet and RnnSimple
Drhuffman12/add team utils part 4 (#59) * drhuffman12/add_team_utils_part_4 TODO: update/refactor based on newer Breed::Manager's * drhuffman12/add_team_utils_part_4 code cleanup * drhuffman12/add_team_utils_part_4 switch to using 'CounterSafe' * drhuffman12/add_team_utils_part_4 re-enable/add some specs * drhuffman12/add_team_utils_part_4 reformat * drhuffman12/add_team_utils_part_4 more tests * drhuffman12/add_team_utils_part_4 formatting * drhuffman12/add_team_utils_part_4 wrap up tests for 'MiniNetManager' * drhuffman12/add_team_utils_part_4 reorg 'history_size' and 'error_stats' * update README badges * drhuffman12/add_team_utils_part_4 re-org non-JSON-specific tests out of 'from_json' test folder and into 'cmn' folder. * drhuffman12/add_team_utils_part_4 refactoring * drhuffman12/add_team_utils_part_4 param cleanup * drhuffman12/add_team_utils_part_4 formatting * drhuffman12/add_team_utils_part_4 rename 'disable_bias' to 'bias_disabled' * drhuffman12/add_team_utils_part_4 rename 'disable_bias' to 'bias_disabled' * drhuffman12/add_team_utils_part_4 refactor re RnnSimpleManager * drhuffman12/add_team_utils_part_4 reformat * drhuffman12/add_team_utils_part_4 refactor tests re RnnSimpleManager * drhuffman12/add_team_utils_part_4 reformat * drhuffman12/add_team_utils_part_4 finish 'RnnSimpleManager' and add 'Manager#train_team' and 'Manager#train_team_using_sequence'; update 'README.md' * drhuffman12/add_team_utils_part_4 version bump * drhuffman12/add_team_utils_part_4 use estimate_better_delta for team training (about half the time, and random about the other) * drhuffman12/add_team_utils_part_4 formatting * drhuffman12/add_team_utils_part_4 revise estimate_better_delta * drhuffman12/add_team_utils_part_4 TODO: (a) move to 'spec_bench' and (b) replace here with more 'always' tests
add RnnSimpleManager
Drhuffman12/add team utils part 3 (#58) * drhuffman12/add_team_utils_part_3 initail prep for adding RnnSimpleManager * drhuffman12/add_team_utils_part_3 initail prep for adding RnnSimpleManager * drhuffman12/add_team_utils_part_3 formatting * drhuffman12/add_team_utils_part_3 finish adding RnnSimpleManager and update tests * drhuffman12/add_team_utils_part_3 formatting * drhuffman12/add_team_utils_part_3 bump version from '0.1.20' to '0.1.21'
Add MiniNetManager
Drhuffman12/add team utils part 2 (#57) * drhuffman12/add_team_utils_part_2 code cleanup * drhuffman12/add_team_utils_part_2 code cleanup * drhuffman12/add_team_utils_part_2 refactoring and code cleanup * drhuffman12/add_team_utils_part_2 code cleanup * drhuffman12/add_team_utils_part_2 reorg properties and initializers * drhuffman12/add_team_utils_part_2 reorg properties and initializers * drhuffman12/add_team_utils_part_2 convert SafeCounter to use a class variable; add testes * drhuffman12/add_team_utils_part_2 add MiniNetManager * drhuffman12/add_team_utils_part_2 test cleanup with more debugging/logging * drhuffman12/add_team_utils_part_2 add Ai4cr::Data::Utils.rand_excluding and use for tests re MiniNetManager * drhuffman12/add_team_utils_part_2 add Ai4cr::Data::Utils.rand_excluding related convenience methods and expand usage * drhuffman12/add_team_utils_part_2 contantize some values in Ai4cr::Data::Utils * drhuffman12/add_team_utils_part_2 bump version from '0.1.19' to '0.1.20'
v0.1.19 Add initial breeding code
drhuffman12/add_team_utils (part 1) (#56) * drhuffman12/add_team_utils code cleanup * drhuffman12/add_team_utils code cleanup/commenting * drhuffman12/add_team_utils add ErrorStats * drhuffman12/add_team_utils move everything over to ErrorStats * drhuffman12/add_team_utils oops, include 'breed_parent.cr' * drhuffman12/add_team_utils add 'include Ai4cr::BreedParent(self.class)' to all nets * drhuffman12/add_team_utils code cleanup * drhuffman12/add_team_utils comment out testes for Chain and comparisons (to be re-worked) * drhuffman12/add_team_utils revert 'BreedParent' changes and start initail refactoring of 'BreedParent'; add 'faker' gem * drhuffman12/add_team_utils '.crystal-version' file * drhuffman12/add_team_utils add '--ignore-crystal-version' to ci configs * drhuffman12/add_team_utils refactoring 'Ai4cr::BreedParent' and add exception class * drhuffman12/add_team_utils revert 'BreedParent' and 'BreedMismatch'; instead add 'Breeder(T)'; TODO: implement 'Breeder(T)' for NN classes. * drhuffman12/add_team_utils code cleanup * drhuffman12/add_team_utils add 'scripts/clear_crystal_cache' * drhuffman12/add_team_utils move and clean-up re breed files; re-enable ameba; prep for coverage * drhuffman12/add_team_utils formatting * drhuffman12/add_team_utils version bump from 0.1.18 to 0.1.19
v0.1.18 utils and refactoring
- re RNN's: Add DataUtils, BreederUtils, Breeder
- misc refactoring
v0.1.17 Add training utility code for RnnSimple
drhuffman12/cmn_basic_rnn_part_5 (#51) * drhuffman12/cmn_basic_rnn_part_5 rework 'RnnConcerns::SplitTrainingData' and tests * drhuffman12/cmn_basic_rnn_part_5 formatting * drhuffman12/cmn_basic_rnn_part_5 formatting * drhuffman12/cmn_basic_rnn_part_5 clean up tests for 'SplitTrainingData'; add code and tests for 'TrainInSequence#train_in_sequence' and 'TrainInSequence#shifted_inputs' and code only for 'TrainInSequence#train_and_guess_in_sequence' (TODO: test for 'TrainInSequence#train_and_guess_in_sequence') * drhuffman12/cmn_basic_rnn_part_5 ameba cleanup * drhuffman12/cmn_basic_rnn_part_5 tweak rnn params, weights, etc to attempt to find one that has consistently decreasing error sums. (For now, mark some tests as 'pending'.) * drhuffman12/cmn_basic_rnn_part_5 split up CircleCI steps * drhuffman12/cmn_basic_rnn_part_5 split up CircleCI steps (fix ameba step) * drhuffman12/cmn_basic_rnn_part_5 split up CircleCI steps (fix?) * drhuffman12/cmn_basic_rnn_part_5 split up CircleCI steps (cleanup) * drhuffman12/cmn_basic_rnn_part_5 add code and tests for 'TrainInSequence#train_and_guess_in_sequence' * drhuffman12/cmn_basic_rnn_part_5 # NOTE: Not all RNN's are equal! Some do better than others. # TODO: Find param and rnd seeds that make this succeed (have lowest sum of errors) after Nth training session (and adjust test data as applicable). * drhuffman12/cmn_basic_rnn_part_5 version: 0.1.17
v0.1.16
drhuffman12 bump version to '0.1.16'