GVKun编程网logo

如何在Keras的LSTM中修复以下错误?如果RNN是有状态的,请指定`batch_input_shape`

15

对于想了解如何在Keras的LSTM中修复以下错误?如果RNN是有状态的,请指定`batch_input_shape`的读者,本文将是一篇不可错过的文章,并且为您提供关于ABAP中BOM批导程序,以及

对于想了解如何在Keras的LSTM中修复以下错误?如果RNN是有状态的,请指定`batch_input_shape`的读者,本文将是一篇不可错过的文章,并且为您提供关于ABAP中BOM批导程序,以及函数CS_BI_BOM_CREATE_BATCH_INPUT1的用法、android.view.inputmethod.InputConnectionWrapper的实例源码、attr 'output_shapes' 为 0 的长度必须至少为 1、AttributeError:'LogisticRegressionGD'对象没有属性'net_input'为什么会出现此错误?我定义了net_input的有价值信息。

本文目录一览:

如何在Keras的LSTM中修复以下错误?如果RNN是有状态的,请指定`batch_input_shape`

如何在Keras的LSTM中修复以下错误?如果RNN是有状态的,请指定`batch_input_shape`

如何解决如何在Keras的LSTM中修复以下错误?如果RNN是有状态的,请指定`batch_input_shape`?

在Keras中运行LSTM时出现以下错误:

ValueError: If a RNN is stateful,it needs to kNow its batch size. Specify the batch size of your input tensors: 
- If using a Sequential model,specify the batch size by passing a `batch_input_shape` argument to your first layer.
- If using the functional API,specify the batch size by passing a `batch_shape` argument to your Input layer.

我有一个Pandas数据框,它是按分钟索引的时间序列,训练集和测试集为X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = .2,shuffle = False)X_train.shape是(27932,7),而X_test.shape是(6984,7)。我将X_train和X_test标准化并重塑为3D形式:

# normalizing the data
ss = StandardScaler()
X_train = ss.fit_transform(X_train)
X_test = ss.transform(X_test)

X_train = X_train.reshape(6983,4,X_train.shape[1])
X_test = X_test.reshape(1746,X_test.shape[1])
y_train = y_train.values.reshape(6983,1)
y_test = y_test.values.reshape(1746,1)

X重塑背后的逻辑是,我希望我的LSTM在6983个样本上学习4个时间步长(即4分钟)的样本。我想针对(X_train.shape[0],1,X_train.shape[1])的重塑进行测试。

我的LSTM如下:

# Creating our model''s structure
model = Sequential()
model.add(Bidirectional(LSTM(4,batch_input_shape = (X_train.shape[0],X_train.shape[1],X_train.shape[2]),return_sequences = True,stateful = True)))
model.add(Dropout(0.2))
model.add(Bidirectional(LSTM(4)))
model.add(Dense(1,activation = ''sigmoid''))
es = EarlyStopping(monitor = ''val_loss'',patience = 10)

# Compiling the model
model.compile(loss = ''binary_crossentropy'',optimizer = ''adam'',metrics = [''Recall''])

# Fitting the model
history = model.fit(X_train,epochs = 50,verbose = 1,validation_data = (X_test,y_test),callbacks = [es])

具有讽刺意味的是,即使我在LSTM的第一层中明确声明了batch_input_shapestateful = True,我仍然遇到上述错误。如果LSTM使用X_train的3D形状(X_train.shape[0],X_train.shape[1])和X_test的3D形状(X_test.shape[0],X_test.shape[1]),我运行LSTM没问题。

我的代码的哪一部分触发了错误?

顺便说一句,我无法通过比代码中描述的更多的隐藏单元来提高LSTM的性能。这看起来令人惊讶吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

ABAP中BOM批导程序,以及函数CS_BI_BOM_CREATE_BATCH_INPUT1的用法

ABAP中BOM批导程序,以及函数CS_BI_BOM_CREATE_BATCH_INPUT1的用法

*----------------------------------------------------------------------*
* Program Name          : BOM批导入
* Purpose               :
* Project Name          : 
* Created by            : 
* Create on             : 20130527
* Functional Consultant :
* Description           :
*此程序主要功能为BOM批导入
*客户使用固定的EXCEL格式的文件格式,通过批导程序,导入相关表中。导入结果可以查询
*----------------------------------------------------------------------*
*    Modification Log
*Date        Programmer     Corr. #      Description
*
*----------------------------------------------------------------------*

REPORT  ZPP_BOM_BATCH_CREATE
        MESSAGE-ID 00
        LINE-COUNT 50
        LINE-SIZE 132
        NO STANDARD PAGE heading.
*----------------------------------------------------------------------*
* Table Work Areas
*----------------------------------------------------------------------*
TYPE-POOLS: SLIS.
TYPE-POOLS: KCDE.

*&---------------------------------------------------------------------*
*&      TABLES
*&---------------------------------------------------------------------*
TABLES: MAST,
        STKO,
        STPO.

*----------------------------------------------------------------------*
* Global Internal Tables Declaration
*----------------------------------------------------------------------*
DATA: IT_FILE TYPE FILETABLE.

TYPES:BEGIN OF TY_IT_UPLOAD,
        WERKS LIKE MAST-WERKS,   "工厂
        MATNR LIKE MAST-MATNR,   "物料
        BMENG(13),               "数量
        STLAL LIKE STKO-STLAL,   "可选BOM
        POSNR LIKE STPO-POSNR,   "组件项目号
        IDNRK LIKE STPO-IDNRK,   "SAP组件物料号
        MENGE(13),                "组件数量
        MEINS LIKE STPO-MEINS,   "组件单位
        AUSCH(5),                "部件废品百分数
        KZKUP LIKE STPO-KZKUP,   "是否为联产品(指示符:联合产品)
        LGORT LIKE STPO-LGORT,   "生产仓储地点
        VERTI LIKE STPO-VERTI,   "分配代码
        ALPGR LIKE STPO-ALPGR,   "替代项目组
        ALPRF LIKE STPO-ALPRF,   "优先级
        ALPST LIKE STPO-ALPST,   "策略
        EWAHR(3),                 "使用可能性
END OF TY_IT_UPLOAD.

**定义一个带有Header line的内存表IT
DATA:IT_UPLOAD TYPE TABLE OF TY_IT_UPLOAD WITH HEADER LINE.
DATA:WA_IT_UPLOAD TYPE TY_IT_UPLOAD.


*----------------------------------------------------------------------*
* Global Variants Declaration
*----------------------------------------------------------------------*
DATA: G_REPID TYPE SY-REPID.
DATA: IT_FIELD TYPE SLIS_T_FIELDCAT_ALV.
*定义读入EXCEL的内表
DATA GIT_EXCEL TYPE KCDE_INTERN_STRUC OCCURS 0 WITH HEADER LINE.




TYPES:BEGIN OF T_OUT.
      INCLUDE STRUCTURE IT_UPLOAD.
      TYPES FLAG(1).
      TYPES MESSAGE(200).
TYPES:END OF T_OUT.
DATA:IT_OUT TYPE TABLE OF T_OUT WITH HEADER LINE.




DATA: L_NAME LIKE WWWDATATAB.
DATA: L_FULLPATH TYPE STRING.

*----------------------------------------------------------------------*
* Selection Screen
*----------------------------------------------------------------------*

SELECTION-SCREEN BEGIN OF BLOCK FRAME2 WITH FRAME TITLE T2.
ParaMETER: P_RB_1 RAdioBUTTON GROUP G1 USER-COMMAND F1 DEFAULT ''X'',
           P_RB_2 RAdioBUTTON GROUP G1.

SELECTION-SCREEN END OF BLOCK FRAME2.
*****选择条件
SELECTION-SCREEN BEGIN OF BLOCK BL01 WITH FRAME TITLE TEXT-001.
ParaMETERS:    P_FILE LIKE RLGRAP-FILENAME MODIF ID M1.

SELECTION-SCREEN END OF BLOCK BL01.


SELECTION-SCREEN BEGIN OF BLOCK BL02 WITH FRAME TITLE TEXT-001.



SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT (79text-004.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT (79text-005.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK BL02.
*&---------------------------------------------------------------------*
*&   Event AT INITIALIZATION
*&---------------------------------------------------------------------*
INITIALIZATION.


*&---------------------------------------------------------------------*
*&   Event AT SELECTION-SCREEN
*&---------------------------------------------------------------------*
AT SELECTION-SCREEN.

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF ( P_RB_1 = ''X'' OR P_RB_2 = ''X''  ) AND ( SCREEN-GROUP1 = ''M2'' OR SCREEN-GROUP1 = ''M3'' OR SCREEN-GROUP1 = ''M4'').
      SCREEN-ACTIVE = ''0''.
    ENDIF.
    IF ( P_RB_2 = ''X'' ) AND SCREEN-GROUP1 = ''M1''.
      SCREEN-ACTIVE = ''0''.
    ENDIF.

    MODIFY SCREEN.
  ENDLOOP.
*********************************************************************
* AT SELECTION-SCREEN
*********************************************************************
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
  PERFORM FRM_OPEN_FILE.
*----------------------------------------------------------------------*
* Event Occurs After The Selection Screen Has Been Processed
*----------------------------------------------------------------------*
START-OF-SELECTION.

  IF P_RB_1 = ''X''.
    PERFORM FRM_AUTH_CHECK.
    PERFORM FRM_CHECK.
*    PERFORM FRM_ALV.
    PERFORM FRM_DOWNLOAD.
  ENDIF.


  IF P_RB_2 = ''X''.
    L_NAME-RELID = ''MI''.
    L_NAME-OBJID = ''Z_BOM_TEMPLATE''.
    PERFORM GET_TEMPLATE CHANGING L_NAME L_FULLPATH.
  ENDIF.


  "ALV
*----------------------------------------------------------------------*
* The Last Of The Events Called By The Runtime Environment To Occur
*----------------------------------------------------------------------*
END-OF-SELECTION.

*&---------------------------------------------------------------------*
*&      Form  frm_open_file
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM FRM_OPEN_FILE.
  CALL FUNCTION ''WS_FILENAME_GET''
    EXPORTING
      DEF_FILENAME     = SPACE
      DEF_PATH         = P_FILE
      MASK             = TEXT-001
      MODE             = ''O''
    IMPORTING
      FILENAME         = P_FILE
    EXCEPTIONS
      SELECTION_CANCEL = 0.
ENDFORM.                    "frm_open_file
*&---------------------------------------------------------------------*
*&      Form  frm_auth_check
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM FRM_AUTH_CHECK.
*  DATA: LV_BUKRS TYPE STRING.
*  DATA: VKORG TYPE TVKO-VKORG.
*
*  SELECT SINGLE VKORG
*    FROM TVKO
*    INTO VKORG
*    WHERE  BUKRS = P_BUKRS.
*
*  AUTHORITY-CHECK OBJECT ''V_VBAK_VKO''
*         ID ''VKORG'' FIELD VKORG.
*  IF SY-SUBRC NE 0.
*    CONCATENATE ''没有权限对公司'' VKORG ''进行操作!'' INTO LV_BUKRS.
*    MESSAGE LV_BUKRS TYPE ''S'' disPLAY LIKE ''E'' .
*    LEAVE LIST-PROCESSING.
*  ENDIF.
ENDFORM.                    "frm_auth_check
*&---------------------------------------------------------------------*
*&      Form  frm_check
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM FRM_CHECK.
  PERFORM FRM_TIDY.
  PERFORM FRM_SAVE.
ENDFORM.                    "frm_check
*&---------------------------------------------------------------------*
*&      Form  frm_tidy
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM FRM_TIDY.

*从已知文件名读入内表
  CALL FUNCTION ''KCD_EXCEL_OLE_TO_INT_CONVERT''
    EXPORTING
      FILENAME                = P_FILE
      I_BEGIN_COL             = 1
      I_BEGIN_ROW             = 1
      I_END_COL               = 20
      I_END_ROW               = 65535
    TABLES
      INTERN                  = GIT_EXCEL[]
    EXCEPTIONS
      INCONSISTENT_ParaMETERS = 1
      UPLOAD_OLE              = 2
      OTHERS                  = 3.

  IF SY-SUBRC <> 0.
    MESSAGE  ''打开文件错误,请检查文件,确保关闭文件!'' TYPE ''E''.
    STOP.
  ENDIF.



  REFRESH IT_UPLOAD.
  CLEAR IT_UPLOAD.
  LOOP AT GIT_EXCEL.
    CASE GIT_EXCEL-COL.
      WHEN ''001''.
        WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-WERKS.
      WHEN ''002''.
        WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-MATNR.
      WHEN ''003''.
        WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-BMENG.
      WHEN ''004''.
        WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-STLAL.
      WHEN ''005''.
        WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-POSNR.
      WHEN ''006''.
        WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-IDNRK.
      WHEN ''007''.
        WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-MENGE.
      WHEN ''008''.
        WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-MEINS.
      WHEN ''009''.
        WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-AUSCH.
      WHEN ''010''.
        WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-KZKUP.
      WHEN ''011''.
        WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-LGORT.
      WHEN ''012''.
        WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-VERTI.
      WHEN ''013''.
        WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-ALPGR.
      WHEN ''014''.
        WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-ALPRF.
      WHEN ''015''.
        WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-ALPST.
      WHEN ''016''.
        WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-EWAHR.

    ENDCASE.
    AT END OF ROW.
      APPEND IT_UPLOAD.
      CLEAR  IT_UPLOAD.
    ENDAT.
  ENDLOOP.

* 删除表头
  DELETE IT_UPLOAD INDEX 1.



ENDFORM.                    "frm_tidy
*&---------------------------------------------------------------------*
*&      Form  frm_save
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM FRM_SAVE.

DATA: L_BOM_HEADER LIKE BICSK,
      L_GROUP_DATA LIKE BGR00,
      L_MsgiD LIKE T100-ARBGB,
      L_MSGNO LIKE T100-MSGNR,
      P_MSGNO LIKE SY-MSGNO,
      L_MSGTY LIKE SY-MSGTY,
      L_MSGV1 LIKE SY-MSGV1,
      L_MSGV2 LIKE SY-MSGV2,
      L_MSGV3 LIKE SY-MSGV3,
      L_MSGV4 LIKE SY-MSGV4,
      L_POSNR LIKE BICSP-POSNR.
DATA: LT_BOM_ITEM LIKE BICSP OCCURS 0 WITH HEADER LINE,
      LT_SUB_ITEM LIKE BICSU OCCURS 0 WITH HEADER LINE.



DATA: GS_MSG LIKE  MESSAGE,
      L_ERROR(1).

SORT IT_UPLOAD BY WERKS MATNR.

CLEAR IT_OUT.
REFRESH IT_OUT.

LOOP AT IT_UPLOAD.
      CLEAR WA_IT_UPLOAD.
      MOVE-CORRESPONDING IT_UPLOAD TO WA_IT_UPLOAD.

      AT NEW MATNR.
*         创建之前先删除
          CALL FUNCTION ''CSAP_MAT_BOM_DELETE''
*          DESTINATION V_RFC_DES
                EXPORTING
                  MATERIAL           = WA_IT_UPLOAD-MATNR
                  PLANT              = WA_IT_UPLOAD-WERKS
                  ALTERNATIVE        = WA_IT_UPLOAD-STLAL
                  BOM_USAGE          = ''1''
                  FL_NO_CHANGE_DOC   = ''X''
                  FL_COMMIT_AND_WAIT = ''X''
                EXCEPTIONS
                  ERROR              = 1
                  OTHERS             = 2.

          CLEAR L_BOM_HEADER.
          CLEAR LT_BOM_ITEM.
          REFRESH LT_BOM_ITEM.


          L_BOM_HEADER-TCODE = ''CS01''.
          L_BOM_HEADER-WERKS = WA_IT_UPLOAD-WERKS.
          L_BOM_HEADER-MATNR = WA_IT_UPLOAD-MATNR.
          L_BOM_HEADER-BMENG = WA_IT_UPLOAD-BMENG.
          L_BOM_HEADER-STLAL = WA_IT_UPLOAD-STLAL.
          L_BOM_HEADER-STLAN = ''1''.
          L_BOM_HEADER-DATUV = SY-DATUM.

      ENDAT.

      LT_BOM_ITEM-POSTP = ''L''.
      LT_BOM_ITEM-SANKA = ''X''.

      LT_BOM_ITEM-XLINE = ''1''.
      LT_BOM_ITEM-POSNR = WA_IT_UPLOAD-POSNR.
      LT_BOM_ITEM-IDNRK = WA_IT_UPLOAD-IDNRK.
      LT_BOM_ITEM-MENGE = WA_IT_UPLOAD-MENGE.
      LT_BOM_ITEM-MEINS = WA_IT_UPLOAD-MEINS.
      LT_BOM_ITEM-AUSCH = WA_IT_UPLOAD-AUSCH.
      LT_BOM_ITEM-KZKUP = WA_IT_UPLOAD-KZKUP.
      LT_BOM_ITEM-LGORT = WA_IT_UPLOAD-LGORT.
      LT_BOM_ITEM-VERTI = WA_IT_UPLOAD-VERTI.
      LT_BOM_ITEM-ALPGR = WA_IT_UPLOAD-ALPGR.
      LT_BOM_ITEM-ALPRF = WA_IT_UPLOAD-ALPRF.
      LT_BOM_ITEM-ALPST = WA_IT_UPLOAD-ALPST.
      LT_BOM_ITEM-EWAHR = WA_IT_UPLOAD-EWAHR.
      APPEND LT_BOM_ITEM.
      CLEAR LT_BOM_ITEM.

      AT END OF MATNR.

          CALL FUNCTION ''CS_BI_BOM_CREATE_BATCH_INPUT1''
             EXPORTING
               BOM_HEADER         = L_BOM_HEADER
*             CLOSE_GROUP        = ''X''
               COMMIT_WORK        = ''X''
               GROUP_DATA         = L_GROUP_DATA
*             NEW_GROUP          = ''X''
               TCODE_MODE         = ''E''
               TCODE_UPDATE       = ''S''
             IMPORTING
               MsgiD              = L_MsgiD
               MSGNO              = L_MSGNO
               MSGTY              = L_MSGTY
               MSGV1              = L_MSGV1
               MSGV2              = L_MSGV2
               MSGV3              = L_MSGV3
               MSGV4              = L_MSGV4
             TABLES
               BOM_ITEM           = LT_BOM_ITEM
               BOM_SUB_ITEM       = LT_SUB_ITEM.

          L_MsgiD = L_MsgiD.
          P_MSGNO = L_MSGNO.

*         **get message string
          CALL FUNCTION ''WRITE_MESSAGE''
              EXPORTING
                MsgiD  = L_MsgiD
                MSGNO  = P_MSGNO
                MSGTY  = L_MSGTY
                MSGV1  = L_MSGV1
                MSGV2  = L_MSGV2
                MSGV3  = L_MSGV3
                MSGV4  = L_MSGV4
                MSGV5  = SPACE
              IMPORTING
                ERROR  = L_ERROR
                MESSG  = GS_MSG
              EXCEPTIONS
                OTHERS = 1.

          IT_OUT-WERKS = WA_IT_UPLOAD-WERKS.
          IT_OUT-MATNR = WA_IT_UPLOAD-MATNR.
          IT_OUT-BMENG = WA_IT_UPLOAD-BMENG.
          IT_OUT-STLAL = WA_IT_UPLOAD-STLAL.
          IF GS_MSG-MSGTY = ''E'' OR NOT ( L_ERROR IS INITIAL ).
             IT_OUT-FLAG = ''E''.
          ELSE.
             IT_OUT-FLAG = ''S''.
          ENDIF.
             IT_OUT-MESSAGE = GS_MSG-MSGTX.
          APPEND IT_OUT.
          CLEAR IT_OUT.
      ENDAT.
ENDLOOP.

ENDFORM.                    "frm_save


*&---------------------------------------------------------------------*
*&      Form  GET_TEMPLATE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      <--P_L_NAME  text
*      <--P_L_FULLPATH  text
*----------------------------------------------------------------------*
FORM GET_TEMPLATE   CHANGING NAME FULLPATH.
  DATATITLE TYPE STRING.
  DATA: MIME LIKE W3MIME OCCURS 10.
  DATA: FILENAME TYPE STRING.
  DATA: PATH TYPE STRING.

  TITLE = ''BOM批量创建模版''.

  CALL FUNCTION ''WWWDATA_IMPORT''
    EXPORTING
      KEY               = NAME
    TABLES
      MIME              = MIME
    EXCEPTIONS
      WRONG_OBJECT_TYPE = 1
      IMPORT_ERROR      = 2
      OTHERS            = 3.

  CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
    EXPORTING
      WINDOW_TITLE         = TITLE
      DEFAULT_EXTENSION    = ''xls''
      DEFAULT_FILE_NAME    = TITLE
      FILE_FILTER          = ''(电子表格EXCEL)''
    CHANGING
      FILENAME             = FILENAME
      PATH                 = PATH
      FULLPATH             = FULLPATH
    EXCEPTIONS
      CNTL_ERROR           = 1
      ERROR_NO_GUI         = 2
      NOT_SUPPORTED_BY_GUI = 3
      OTHERS               = 4.
  IF SY-SUBRC <> 0.
    STOP.
  ENDIF.

  CALL FUNCTION ''GUI_DOWNLOAD''
    EXPORTING
      FILENAME = FULLPATH
      FILETYPE = ''BIN''
    TABLES
      DATA_TAB = MIME.

ENDFORM.                    " GET_TEMPLATE


*&---------------------------------------------------------------------*
*&      Form  FRM_DOWNLOAD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_DOWNLOAD .
  CALL FUNCTION ''GUI_DOWNLOAD''
     EXPORTING
*    BIN_FILESIZE                    =
       FILENAME                        = ''C:/BOM批量创建程序结果表.TXT''
       FILETYPE                        = ''ASC''
       APPEND                          = '' ''
*    WRITE_FIELD_SEParaTOR           = '' ''
*    HEADER                          = ''00''
*    Trunc_TRAILING_BLANKS           = '' ''
*    WRITE_LF                        = ''X''
*    COL_SELECT                      = '' ''
*    COL_SELECT_MASK                 = '' ''
*    DAT_MODE                        = '' ''
*    CONFIRM_OVERWRITE               = '' ''
*    NO_AUTH_CHECK                   = '' ''
*    CODEPAGE                        = '' ''
*    IGnorE_CERR                     = ABAP_TRUE
*    REPLACEMENT                     = ''#''
*    WRITE_BOM                       = '' ''
*    Trunc_TRAILING_BLANKS_EOL       = ''X''
*    WK1_N_FORMAT                    = '' ''
*    WK1_N_SIZE                      = '' ''
*    WK1_T_FORMAT                    = '' ''
*    WK1_T_SIZE                      = '' ''
*  IMPORTING
*    FILELENGTH                      =
     TABLES
       DATA_TAB                        = IT_OUT
*    FIELDNAMES                      =
*  EXCEPTIONS
*    FILE_WRITE_ERROR                = 1
*    NO_BATCH                        = 2
*    GUI_REFUSE_FILETRANSFER         = 3
*    INVALID_TYPE                    = 4
*    NO_AUTHORITY                    = 5
*    UNKNowN_ERROR                   = 6
*    HEADER_NOT_ALLOWED              = 7
*    SEParaTOR_NOT_ALLOWED           = 8
*    FILESIZE_NOT_ALLOWED            = 9
*    HEADER_TOO_LONG                 = 10
*    DP_ERROR_CREATE                 = 11
*    DP_ERROR_SEND                   = 12
*    DP_ERROR_WRITE                  = 13
*    UNKNowN_DP_ERROR                = 14
*    ACCESS_DENIED                   = 15
*    DP_OUT_OF_MEMORY                = 16
*    disK_FULL                       = 17
*    DP_TIMEOUT                      = 18
*    FILE_NOT_FOUND                  = 19
*    DATAPROVIDER_EXCEPTION          = 20
*    CONTROL_FLUSH_ERROR             = 21
*    OTHERS                          = 22
   .
  IF SY-SUBRC <> 0.
* MESSAGE ID SY-MsgiD TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
  WRITE:''数据成功保存到C盘根目录下,请查看!''.


ENDFORM.                    " FRM_DOWNLOAD

android.view.inputmethod.InputConnectionWrapper的实例源码

android.view.inputmethod.InputConnectionWrapper的实例源码

项目:ViewPrinter    文件:AutoSplitTextHelper.java   
public InputConnection createInputConnection(InputConnection base) {
    return base == null ? null : new InputConnectionWrapper(base,true) {

        @Override
        public boolean sendKeyEvent(KeyEvent event) {
            // Todo: this Could be improved by working even when we are not empty.
            // The behavior should be 'delete isLast character from mPre'.
            // In that case,we should check also that getSelectionStart() == 0.
            if (!isFirst() && mView.getText().length() == 0 &&
                    event.getAction() == KeyEvent.ACTION_DOWN &&
                    event.getKeyCode() == KeyEvent.KEYCODE_DEL) {
                removeFromChain(mView);
                return false;
            }
            return super.sendKeyEvent(event);
        }
    };
}
项目:365browser    文件:AutocompleteEditText.java   
@VisibleForTesting
public InputConnectionWrapper getInputConnection() {
    return mInputConnection;
}

attr 'output_shapes' 为 0 的长度必须至少为 1

attr 'output_shapes' 为 0 的长度必须至少为 1

如何解决attr ''output_shapes'' 为 0 的长度必须至少为 1?

每当我尝试将字符串列表转换为 tf.Dataset 对象时,它都会向我输出此错误。

tensorflow.python.framework.errors_impl.InvalidArgumentError: Length for attr ''output_shapes'' of 0 must be at least minimum 1
    ; NodeDef: {{node ParallelMapDatasetV2}}; Op<name=ParallelMapDatasetV2; signature=input_dataset:variant,other_arguments:,num_parallel_calls:int64 -> handle:variant; attr=f:func; attr=Targuments:list(type),min=0; attr=output_types:list(type),min=1; attr=output_shapes:list(shape),min=1; attr=use_inter_op_parallelism:bool,default=true; attr=deterministic:string,default="default"; attr=preserve_cardinality:bool,default=false> [Op:ParallelMapDatasetV2]

代码是:

just_train_filenames = tf.ragged.constant([batch[0] for batch in train_list])

tf_train_ds = tf.data.Dataset.from_generator(
    lambda: just_train_filenames,output_signature=(tf.Tensor(shape=(1,None),tf.string))
)

解决方法

Dataset.map 函数也有同样的问题。 你的 lambda 函数需要有一个返回值。

在这种情况下,output_shapes 是 lambda 函数的 output_shape,它是 0,因为该函数没有返回值。

在 from_generator 的情况下,lambda 需要返回一个具有迭代器的对象。

来自 tensorflow 文档:https://www.tensorflow.org/api_docs/python/tf/data/Dataset#from_generator

生成器参数必须是一个可调用对象,该对象返回支持 iter() 协议的对象(例如生成器函数)。

生成器生成的元素必须与给定的 output_signature 参数或使用给定的 output_types 和(可选) output_shapes 参数,以指定的为准。

AttributeError:'LogisticRegressionGD'对象没有属性'net_input'为什么会出现此错误?我定义了net_input

AttributeError:'LogisticRegressionGD'对象没有属性'net_input'为什么会出现此错误?我定义了net_input

如何解决AttributeError:''LogisticRegressionGD''对象没有属性''net_input''为什么会出现此错误?我定义了net_input?

from sklearn import datasets
import numpy as np
import matplotlib.pyplot as plt

# Assigning the petal length and petal width of the 150 flower samples to Matrix X 
# Class labels of the flower to vector y 

iris = datasets.load_iris()
X = iris.data[:,[2,3]]
y = iris.target
print(''Class labels:'',np.unique(y))

from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.3,random_state=1,stratify=y)

print(''Labels counts in y:'',np.bincount(y))
print(''Labels counts in y_train:'',np.bincount(y_train))
print (''Labels counts in y_test:'',np.bincount(y_test))

from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
sc.fit(X_train)
X_train_std = sc.transform(X_train)
X_test_std = sc.transform(X_test)

class LogisticRegressionGD(object):
    """Logistic Regression Classifier using gradient descent.

    Parameters
    ------------
    eta : float
        Learning rate (between 0.0 and 1.0)
    n_iter : int
        Passes over the training dataset
    random_state : int
        Random number generator seed for random weight initialization

    Attributes
    ------------
    w_ : 1d-array
        Weights after fitting.
    cost_ : list
        Sum-of-squares cost function value in each epoch.

    """
    def __init__(self,eta=0.05,n_iter=100,random_state=1):
        self.eta = eta
        self.n_iter = n_iter
        self.random_state = random_state
    
    def fit(self,X,y):
        """ Fit training data.

        Parameters
        ------------
        X : {array-like},shape = [n_samples,n_features]
            Training vectors,where n_samples is the number of samples and 
            n_features is the number of features.
        y : array-like,shape = [n_samples]
            Target values

        Returns
        ------------
        self : object

        """
        rgen = np.random.RandomState(self.random_state)
        self.w_ = rgen.normal(loc=0.0,scale=0.01,size=1 + X.shape[1])
        self.cost_ = []

        for i in range(self.n_iter):
            net_input = self.net_input(X)
            output = self.activation(net_input)
            errors = (y - output)
            self.w_[1:] += self.eta * X.T.dot(errors)
            self.w_[0] += self.eta * errors.sum()

            # note that we compute the logistic ''cost'' Now
            # instead of the sum of the squared errors cost
            cost = (-y.dot(np.log(output)) - ((1 - y).dot(np.log(1 - output))))
            self.cost_.append(cost)
            return self
        
        def net_input(self,X):
            """Calculate net input"""
            return np.dot(X,self.w_[1:]) + self.w_[0]

        def activation(self,z):
            """Compute logistic sigmoid activation"""
            return 1. / (1. + (np.clip(z,-250,250)))

        def predict(self,X):
            """Return class label after unit step"""
            return np.where(self.net_input(X) >= 0.0,1,0)
            # equivalent to: 
            # return np.where(self.activation(self.net_input(X)) >= 0.5,0)

# Considering only Iris-setosa and Iris-versicolor (Classes 0 and 1)
X_train_01_subset = X_train[(y_train == 0) | (y_train == 1)]
y_train_01_subset = y_train[(y_train == 0) | (y_train == 1)]
lrgd = LogisticRegressionGD(eta=0.05,n_iter=1000,random_state=1)
lrgd.fit(X_train_01_subset,y_train_01_subset)
plot_decision_regions(X=X_train_01_subset,y=y_train_01_subset,classifier=lrgd)
plt.xlabel(''petal length [standardized]'')
plt.ylabel(''petal width [standardized]'')
plt.legend(loc=''upper left'')
plt.show()

运行该命令后,出现以下错误消息:

Traceback (most recent call last):
  File "c:/Users/Desfios 5/Desktop/Python/Ch3LogisticRegressionGD.py",line 102,in <module>
    lrgd.fit(X_train_01_subset,y_train_01_subset)
  File "c:/Users/Desfios 5/Desktop/Python/Ch3LogisticRegressionGD.py",line 72,in fit
    net_input = self.net_input(X)
AttributeError: ''LogisticRegressionGD'' object has no attribute ''net_input''

我看着其他问类似问题的人,发现通常由于未定义属性而出现此错误消息。但是,第72行-net_input = self.net_input(X)定义了net_input吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

今天关于如何在Keras的LSTM中修复以下错误?如果RNN是有状态的,请指定`batch_input_shape`的讲解已经结束,谢谢您的阅读,如果想了解更多关于ABAP中BOM批导程序,以及函数CS_BI_BOM_CREATE_BATCH_INPUT1的用法、android.view.inputmethod.InputConnectionWrapper的实例源码、attr 'output_shapes' 为 0 的长度必须至少为 1、AttributeError:'LogisticRegressionGD'对象没有属性'net_input'为什么会出现此错误?我定义了net_input的相关知识,请在本站搜索。

本文标签: