Skip to content

Getting 'Check failed' error when loading a toy LSTM prototxt file #4547

@aurotripathy

Description

@aurotripathy

Also posted on Caffe Users. However, looks like an issue internal to Caffe.

Below is the error. I don't understand the error message (2 vs. 2).

I0801 09:50:09.308823 21586 layer_factory.hpp:77] Creating layer lstm1_x_transform
I0801 09:50:09.308851 21586 net.cpp:91] Creating Layer lstm1_x_transform
I0801 09:50:09.308863 21586 net.cpp:425] lstm1_x_transform <- x
I0801 09:50:09.308879 21586 net.cpp:399] lstm1_x_transform -> W_xc_x
F0801 09:50:09.308907 21586 blob.hpp:122] Check failed: axis_index < num_axes() (2 vs. 2) axis 2 out of range for 2-D Blob with shape 320 1 (320)
*** Check failure stack trace: ***
Aborted (core dumped)

Here's how I load the prototxt file (derived from https://github.com/junhyukoh/caffe-lstm/blob/master/examples/lstm_sequence/lstm_short.prototxt).

solver = caffe.get_solver('solver.prototxt')

Here's the prototxt file in its entirety.

name: "LSTM"
input: "data"
input_shape { dim: 320 dim: 1 }
input: "clip"
input_shape { dim: 320 dim: 1 }
input: "label"
input_shape { dim: 320 dim: 1 }
layer {
  name: "Silence"
  type: "Silence"
  bottom: "label"
  include: { phase: TEST }
}
layer {
  name: "lstm1"
  type: "LSTM"
  bottom: "data"
  bottom: "clip"
  top: "lstm1"

  param {
    lr_mult: 1
  }
  param {
    lr_mult: 1
  }
  param {
    lr_mult: 2
  }

  recurrent_param {
    num_output: 7
    weight_filler {
      type: "gaussian"
      std: 0.1
    }
    bias_filler {
      type: "constant"
    }
  }
}
layer {
  name: "lstm2"
  type: "Lstm"
  bottom: "lstm1"
  bottom: "clip"
  top: "lstm2"

  recurrent_param {
    num_output: 7
    weight_filler {
      type: "gaussian"
      std: 0.1
    }
    bias_filler {
      type: "constant"
    }
  }
}
layer {
  name: "lstm3"
  type: "Lstm"
  bottom: "lstm2"
  bottom: "clip"
  top: "lstm3"

  recurrent_param {
    num_output: 7
    weight_filler {
      type: "gaussian"
      std: 0.1
    }
    bias_filler {
      type: "constant"
    }
  }
}
layer {
  name: "ip1"
  type: "InnerProduct"
  bottom: "lstm3"
  top: "ip1"

  inner_product_param {
    num_output: 1
    weight_filler {
      type: "gaussian"
      std: 0.1
    }
    bias_filler {
      type: "constant"
    }
  }
}
layer {
  name: "loss"
  type: "EuclideanLoss"
  bottom: "ip1"
  bottom: "label"
  top: "loss"
  include: { phase: TRAIN }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions