block_zoo.embedding package¶
Submodules¶
block_zoo.embedding.CNNCharEmbedding module¶
-
class
block_zoo.embedding.CNNCharEmbedding.
CNNCharEmbedding
(layer_conf)[source]¶ Bases:
block_zoo.BaseLayer.BaseLayer
This layer implements the character embedding use CNN :param layer_conf: configuration of CNNCharEmbedding :type layer_conf: CNNCharEmbeddingConf
-
forward
(string)[source]¶ Step1: [batch_size, seq_len, char num in words] -> [batch_size, seq_len * char num in words] Step2: lookup embedding matrix -> [batch_size, seq_len * char num in words, embedding_dim] reshape -> [batch_size * seq_len, char num in words, embedding_dim] Step3: after convolution operation, got [batch_size * seq_len, char num related, output_channel_num] Step4: max pooling on axis 1 and -reshape-> [batch_size * seq_len, output_channel_dim] Step5: reshape -> [batch_size, seq_len, output_channel_dim]
Parameters: string (Variable) – [[char ids of word1], [char ids of word2], […], …], shape: [batch_size, seq_len, char num in words] Returns: [batch_size, seq_len, output_dim] Return type: Variable
-
-
class
block_zoo.embedding.CNNCharEmbedding.
CNNCharEmbeddingConf
(**kwargs)[source]¶ Bases:
block_zoo.BaseLayer.BaseConf
Configuration of CNNCharEmbedding
Parameters: - dim (int, optional) – the dimension of character embedding after convolution. Default: 30
- embedding_matrix_dim (int, optional) – the dimension of character initialized embedding. Default: 30
- stride (int, optional) – Stride of the convolution. Default: 1
- padding (int, optional) – Zero-padding added to both sides of the input. Default: 0
- window_size (int, optional) – width of convolution kernel. Default: 3
- activation (Str, optional) – activation after convolution operation, can set null. Default: ‘ReLU’
-
declare
()[source]¶ Define things like “input_ranks” and “num_of_inputs”, which are certain with regard to your layer
num_of_input is N(N>0) means this layer accepts N inputs;
num_of_input is -1 means this layer accepts any number of inputs;
The rank here is not the same as matrix rank:
For a scalar, its rank is 0;
For a vector, its rank is 1;
For a matrix, its rank is 2;
For a cube of numbers, its rank is 3.
… For instance, the rank of (batch size, sequence length, hidden_dim) is 3.
if num_of_input > 0:
len(input_ranks) should be equal to num_of_inputelif num_of_input == -1:
input_ranks should be a list with only one element and the rank of all the inputs should be equal to that element.NOTE: when we build the model, if num_of_input is -1, we would replace it with the real number of inputs and replace input_ranks with a list of real input_ranks.
Returns: None
-
default
()[source]¶ Define the default hyper parameters here. You can define these hyper parameters in your configuration file as well.
Returns: None