Прогноз SAP HANA PAL с перегрузкой Исключение ошибки 73001060 - PullRequest
0 голосов
/ 23 января 2019

Я использую модель 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;
...