我在PAL上运行BPNN模型,但是我的测试编码有错误。我该如何解决这个问题?我已经成功建立了BPNN训练模型,并尝试输入测试数据集进行预测。
我尝试了多种方法来执行此操作,但是似乎没有一个可行。在此之前,我已经在训练和测试上成功运行了更大的数据集,在我更改为新数据集之后,它弹出了此错误。
无法执行'CALL CRMNL.CRMNL_NN_PREDICT(CRMNL_PREDICT_NN_DATA_TBL,模型, “ #CRMNL_CONTROL_TBL”,...“在383 ms 928 µs中。 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;