]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Fix] Fix fann_redis when number of scores has been changed
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 22 Nov 2016 12:05:31 +0000 (12:05 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 22 Nov 2016 12:05:50 +0000 (12:05 +0000)
src/plugins/lua/fann_redis.lua

index fffb5dcd9686b0043f67afa01df4e0b6721489de..1cdda8bef741858551f8b17bf44a979d19e08838 100644 (file)
@@ -283,7 +283,12 @@ local function create_train_fann(n, id)
   end
 
   if fanns[id].fann then
-    if fanns[id].version % max_usages == 0 then
+    if n ~= fanns[id].fann:get_inputs() then
+      rspamd_logger.infox(rspamd_config, 'recreate ANN %s as it has a wrong number of inputs, version %s', id,
+        fanns[id].version)
+      fanns[id].fann_train = rspamd_fann.create(nlayers, n, n / 2, n / 4, 1)
+      fanns[id].fann = nil
+    elseif fanns[id].version % max_usages == 0 then
       -- Forget last fann
       rspamd_logger.infox(rspamd_config, 'recreate ANN %s, version %s', id,
         fanns[id].version)