Explorar el Código

[Project] Remove has_torch definitions

tags/2.0
Vsevolod Stakhov hace 5 años
padre
commit
10aa926619
Se han modificado 5 ficheros con 3 adiciones y 117 borrados
  1. 0
    2
      conf/modules.d/neural.conf
  2. 0
    82
      lualib/lua_nn.lua
  3. 0
    8
      src/libserver/cfg_utils.c
  4. 2
    21
      src/lua/lua_config.c
  5. 1
    4
      src/plugins/lua/neural.lua

+ 0
- 2
conf/modules.d/neural.conf Ver fichero

@@ -26,8 +26,6 @@ neural {
}

timeout = 20; # Increase redis timeout
enabled = ${HAS_TORCH}; # Explicitly disable module when torch is disabled
use_settings = false; # If enabled, then settings-id is used to dispatch networks

# Legacy support
.include(try=true,priority=5) "${DBDIR}/dynamic/fann_redis.conf"

+ 0
- 82
lualib/lua_nn.lua Ver fichero

@@ -1,82 +0,0 @@
--[[
Copyright (c) 2017, Vsevolod Stakhov <vsevolod@highsecure.ru>

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
]]--

local rspamd_logger = require "rspamd_logger"
local torch
local exports = {}

local lua_nn_models = {}

local conf_section = rspamd_config:get_all_opt("nn_models")

if conf_section then
if rspamd_config:has_torch() then
torch = require "torch"
torch.setnumthreads(1)
end
end

if torch then
exports.load_rspamd_nn = function()
local function gen_process_callback(name)
return function(str)
if str then
local f = torch.MemoryFile(torch.CharStorage():string(str))
local ret, tnn_or_err = pcall(function() f:readObject() end)
if not ret then
rspamd_logger.errx(rspamd_config, "cannot load neural net model %s: %s",
name, tnn_or_err)
else
rspamd_logger.infox(rspamd_config, "loaded NN model %s: %s bytes",
name, #str)
lua_nn_models[name] = tnn_or_err
end
end
end
end

if conf_section and type(conf_section) == 'table' then
for k,v in pairs(conf_section) do
if not rspamd_config:add_map(v, "nn map " .. k, gen_process_callback(k)) then
rspamd_logger.warnx(rspamd_config, 'cannot load NN map %1', k)
end
end
end
end
exports.try_rspamd_nn = function(name, input)
if not lua_nn_models.name then
return false, 0.0
else
local ret, res_or_err = pcall(function() lua_nn_models.name:forward(input) end)
if not ret then
rspamd_logger.errx(rspamd_config, "cannot run neural net model %s: %s",
name, res_or_err)
else
return true, tonumber(res_or_err)
end
end

return false, 0.0
end
else
exports.load_rspamd_nn = function()
end
exports.try_rspamd_nn = function(name, input)
return false,0.0
end
end

return exports

+ 0
- 8
src/libserver/cfg_utils.c Ver fichero

@@ -1194,14 +1194,6 @@ rspamd_ucl_add_conf_variables (struct ucl_parser *parser, GHashTable *vars)
ucl_parser_register_variable (parser, RSPAMD_BRANCH_VERSION_MACRO,
RSPAMD_VERSION_BRANCH);

#if defined(WITH_TORCH) && defined(WITH_LUAJIT) && defined(__x86_64__)
ucl_parser_register_variable (parser, "HAS_TORCH",
"yes");
#else
ucl_parser_register_variable (parser, "HAS_TORCH",
"no");
#endif

hostlen = sysconf (_SC_HOST_NAME_MAX);

if (hostlen <= 0) {

+ 2
- 21
src/lua/lua_config.c Ver fichero

@@ -3805,27 +3805,8 @@ lua_config_get_cpu_flags (lua_State *L)
static gint
lua_config_has_torch (lua_State *L)
{
LUA_TRACE_POINT;
struct rspamd_config *cfg = lua_check_config (L, 1);
struct rspamd_cryptobox_library_ctx *crypto_ctx;

if (cfg != NULL) {
crypto_ctx = cfg->libs_ctx->crypto_ctx;
#if !defined(WITH_TORCH) || !defined(WITH_LUAJIT)
lua_pushboolean (L, false);
(void)crypto_ctx;
#else
if (crypto_ctx->cpu_config & CPUID_SSE2) {
lua_pushboolean (L, true);
}
else {
lua_pushboolean (L, false);
}
#endif
}
else {
return luaL_error (L, "invalid arguments");
}
msg_warn ("use of the obsoleted `has_torch` function");
lua_pushboolean (L, false);

return 1;
}

+ 1
- 4
src/plugins/lua/neural.lua Ver fichero

@@ -21,6 +21,7 @@ end

local rspamd_logger = require "rspamd_logger"
local rspamd_util = require "rspamd_util"
local rspamd_kann = require "rspamd_kann"
local lua_redis = require "lua_redis"
local lua_util = require "lua_util"
local fun = require "fun"
@@ -30,10 +31,6 @@ local torch
local nn
local N = "neural"

if rspamd_config:has_torch() then
use_torch = true
end

-- Module vars
local default_options = {
train = {

Cargando…
Cancelar
Guardar