Commit Graph

155 Commits

Author SHA1 Message Date
wls2002
01b7731231 optimize import 2023-06-29 09:41:49 +08:00
wls2002
d28cef1a87 The whole NEAT algorithm is written into functional programming. 2023-06-29 09:28:49 +08:00
wls2002
114ff2b0cc modifying 2023-06-27 18:47:47 +08:00
wls2002
ba369db0b2 Perfect!
Next is to connect with Evox!
2023-06-25 02:57:45 +08:00
wls2002
0cb2f9473d finish ask part of the algorithm;
use jax.lax.while_loop in graph algorithms and forward function;
fix "enabled not care" bug in forward
2023-06-25 00:26:52 +08:00
wls2002
86820db5a6 modifying 2023-06-21 19:42:15 +08:00
wls2002
35b095ba74 modifying 2023-06-19 17:32:34 +08:00
wls2002
5cbe3c14bb Current Progress: After final design presentation 2023-06-19 15:17:56 +08:00
wls2002
acedd67617 change project structure and using .ini as config file 2023-06-15 11:05:26 +08:00
wls2002
47fb0151f4 Update .gitignore and remove tracked files 2023-06-14 10:35:22 +08:00
wls2002
bd421de9ad Current Progress: After final design presentation 2023-06-14 10:20:55 +08:00
wls2002
2b79f2c903 prepare for experiment 2023-05-14 15:27:17 +08:00
wls2002
72c9d4167a FAST! 2023-05-13 20:58:03 +08:00
wls2002
90a9cc322d initialize commit in jitable branch 2023-05-12 19:35:26 +08:00
wls2002
6006f92f3f finish jit-able speciate function
next time i'll create a new branch
2023-05-12 19:26:02 +08:00
wls2002
9b56f4ff73 做了一些时间测试:
1. jit中的vmap一个函数不会触发重新编译
2. jax.lax.while_lop单独执行确实可以提前中断,但在vmap中的性能需要考虑。
2023-05-12 16:42:57 +08:00
wls2002
5e0130e109 faster, faster and faster! 2023-05-12 01:05:49 +08:00
wls2002
47b1a1dbb2 refactor genome.py use (C, 4) to replace (2, N, N) to represent connections
faster, faster and faster!
2023-05-12 00:57:55 +08:00
wls2002
e5fc1167d9 refactor genome.py use (C, 4) to replace (2, N, N) to represent connections
use "cons" to replace "connections" in code for beauty
2023-05-11 19:49:19 +08:00
wls2002
e2a5117554 initial commit in branch developing 2023-05-11 19:04:56 +08:00
wls2002
acc9eab64a change fitness from list to array
optimize the code of reproduction.
2023-05-11 08:15:06 +08:00
wls2002
299ff1f8f1 change fitness from list to array
optimize the code of reproduction.
2023-05-11 08:14:58 +08:00
wls2002
b271a56827 update to test in servers 2023-05-10 22:33:51 +08:00
wls2002
ce35b01896 add package problems 2023-05-10 19:30:12 +08:00
wls2002
097bbf6631 gpu slice is very slow. fixed this problem 2023-05-10 18:36:22 +08:00
wls2002
3f37d79d06 gpu slice is very slow. fix this problem 2023-05-10 17:48:07 +08:00
wls2002
9dfa904ce5 precompile jax.random.split 2023-05-10 15:20:42 +08:00
wls2002
0fdc856f2d add function to put **all** compilation at the beginning of the execution. 2023-05-09 02:55:47 +08:00
wls2002
1f2327bbd6 clean imports and delete "create_XXX_functions" 2023-05-09 01:58:00 +08:00
wls2002
f63a0c447b create function_factory.py, use to manage functions 2023-05-09 01:49:43 +08:00
wls2002
ee6bb01eff try to accelerate the speed of speciate 2023-05-08 18:41:19 +08:00
wls2002
8653f49826 optimize function reproduce for time usage 2023-05-08 16:28:13 +08:00
wls2002
dde338696f reduce the use of device_get in speciate 2023-05-08 15:58:09 +08:00
wls2002
91206c796f add init_speciate to accelerate the time cost of speciate in the first generation 2023-05-08 15:53:31 +08:00
wls2002
e201d03157 add debug mode for create_xx_functions for detail time cost analysis 2023-05-08 15:42:25 +08:00
wls2002
d4a75b9394 use jit().lower.compile in create functions 2023-05-08 02:35:04 +08:00
wls2002
497d89fc69 move o2o_distance and o2m_distance to pipelines 2023-05-08 01:19:45 +08:00
wls2002
c705b5cfe2 accelerate: unify jnp and np 2023-05-08 00:46:48 +08:00
wls2002
cf47c5bb38 huge accelerate: delete recycle new keys 2023-05-08 00:02:51 +08:00
wls2002
64f8eaccaf create function "distance_numpy", serve as o2o distance function 2023-05-07 23:47:53 +08:00
wls2002
b257505bee modify act. agg in mutation. they can have option vals
fix a bug in function 'agg'
2023-05-07 23:00:04 +08:00
wls2002
47bb593a53 add method 'create_crossover_function' and 'create_distance_function' 2023-05-07 22:16:27 +08:00
wls2002
cec40b254f remove useless codes 2023-05-07 16:30:26 +08:00
wls2002
890c928b0f adjust parameter for xor problem 2023-05-07 16:21:41 +08:00
wls2002
a3b9bca866 bug down! Here it can solve xor successfully! 2023-05-07 16:03:52 +08:00
wls2002
d1f54022bd 又搞到3点,还是没有找到问题在哪,不过已经排除了是forward的问题 2023-05-07 02:59:48 +08:00
wls2002
414b620dc8 虽然xor问题还是跑不出来,但至少已经确定不是distance的错了 2023-05-06 23:26:13 +08:00
wls2002
a85e6eba78 debug-branch 2023-05-06 21:04:28 +08:00
wls2002
14fed83193 debuging 2023-05-06 18:33:30 +08:00
wls2002
73ac1bcfe0 generally complete, but not work well. Debug 2023-05-06 11:35:44 +08:00