Я использую модель BPNN на PAL, но у меня возникла ошибка с моим тестовым кодированием. Как я мог решить эту проблему? Я уже успешно построил модель обучения BPNN и пытаюсь ввести набор тестовых данных для прогнозирования.
Я пытался сделать это несколькими способами, но ни один из них не работает. До этого я успешно выполнил набор данных большего размера как при обучении, так и при тестировании, после перехода на новый набор данных появляется эта ошибка ..
Не удалось выполнить CALL
CRMNL.CRMNL_NN_PREDICT (CRMNL_PREDICT_NN_DATA_TBL, MODEL,
"#CRMNL_CONTROL_TBL", ... "за 383 мс 928 мкс. SAP DBTech JDBC: [423]:
Ошибка AFL: ошибка таблицы поиска:
_SYS_AFL.AFLPAL: PREDICTWITHBPNN__OVERLOAD_3_2: [423] (диапазон 3) Исключение ошибки AFL: исключение 73001060: ошибка PAL [73001060]: внутренняя
ошибка. Проверьте трассировку для деталей.
-- cleanup
SET SCHEMA "CRMNL";
DROP TYPE CRMNL_PREDICT_NN_DATA_T;
DROP TYPE CRMNL_PREDICT_NN_RESULT_T;s
DROP TYPE CRMNL_PREDICT_NN_SOFTMAX_T;
DROP TYPE CRMNL_NN_MODEL_T;
DROP TYPE CRMNL_CONTROL_T;
--cleanup for procedure
DROP TABLE CRMNL_NN_PDATA_TBL;
--PREDICT PART
CREATE TYPE CRMNL_PREDICT_NN_DATA_T AS TABLE ( "CUSTOMER" INTEGER, "1" FLOAT,"2" FLOAT,"3" FLOAT);
CREATE TYPE CRMNL_PREDICT_NN_RESULT_T AS TABLE(
"ID" INTEGER,
"TARGET" VARCHAR(256)
);
CREATE TYPE CRMNL_PREDICT_NN_SOFTMAX_T AS TABLE(
"ID" INTEGER,
"TARGET" VARCHAR(256),
"SOFTMAX" DOUBLE
);
CREATE TYPE CRMNL_NN_MODEL_T AS TABLE(
"NAME" VARCHAR(256),
"MODEL" CLOB
);
CREATE TYPE CRMNL_CONTROL_T AS TABLE(
"NAME" VARCHAR(256),
"INTARGS" INTEGER,
"DOUBLEARGS" DOUBLE,
"STRINGARGS" VARCHAR(256)
);
--CREATE PROCEDURE
CREATE COLUMN TABLE CRMNL_NN_PDATA_TBL(
"POSITION" INT,
"SCHEMA_NAME" NVARCHAR(256),
"TYPE_NAME" NVARCHAR(256),
"PARAMETER_TYPE" VARCHAR(7)
);
INSERT INTO CRMNL_NN_PDATA_TBL VALUES (1, 'CRMNL', 'CRMNL_PREDICT_NN_DATA_T', 'IN');
INSERT INTO CRMNL_NN_PDATA_TBL VALUES (2, 'CRMNL', 'CRMNL_NN_MODEL_T', 'IN');
INSERT INTO CRMNL_NN_PDATA_TBL VALUES (3, 'CRMNL', 'CRMNL_CONTROL_T', 'IN');
INSERT INTO CRMNL_NN_PDATA_TBL VALUES (4, 'CRMNL', 'CRMNL_PREDICT_NN_RESULT_T', 'OUT');
INSERT INTO CRMNL_NN_PDATA_TBL VALUES (5, 'CRMNL', 'CRMNL_PREDICT_NN_SOFTMAX_T', 'OUT');
CALL SYS.AFLLANG_WRAPPER_PROCEDURE_DROP('CRMNL', 'CRMNL_NN_PREDICT');
CALL SYS.AFLLANG_WRAPPER_PROCEDURE_CREATE('AFLPAL', 'PREDICTWITHBPNN', 'CRMNL', 'CRMNL_NN_PREDICT', CRMNL_NN_PDATA_TBL);
--RUN
DROP TABLE #CRMNL_CONTROL_TBL;
CREATE LOCAL TEMPORARY COLUMN TABLE #CRMNL_CONTROL_TBL(
"NAME" VARCHAR(256),
"INTARGS" INTEGER,
"DOUBLEARGS" DOUBLE,
"STRINGARGS" VARCHAR(256)
);
INSERT INTO #CRMNL_CONTROL_TBL VALUES ('THREAD_NUMBER', 6, NULL, NULL);
-- data & view setup
DROP VIEW CRMNL_PREDICT_NN_DATA_TBL;
CREATE VIEW "CRMNL_PREDICT_NN_DATA_TBL" AS
SELECT "CUSTOMER","1","2","3"
from "CRMNL"."NEW_TEST_VEGETARIAN_PIVOT_SUBDEPARTMENT";
DROP TABLE CRMNL_PREDICT_NN_SOFTMAX_TBL;
CREATE COLUMN TABLE CRMNL_PREDICT_NN_SOFTMAX_TBL LIKE CRMNL_PREDICT_NN_SOFTMAX_T;
DROP TABLE CRMNL_PREDICT_NN_RESULT_TBL;
CREATE COLUMN TABLE CRMNL_PREDICT_NN_RESULT_TBL LIKE CRMNL_PREDICT_NN_RESULT_T;
--CALL PROCEDURE
CALL CRMNL.CRMNL_NN_PREDICT(CRMNL_PREDICT_NN_DATA_TBL, MODEL, "#CRMNL_CONTROL_TBL", CRMNL_PREDICT_NN_RESULT_TBL, CRMNL_PREDICT_NN_SOFTMAX_TBL) WITH OVERVIEW;