Embedding
嵌入层(Embedding Layer)
注:input中的id必须满足 0 =< id < size[0]
,否则程序会抛异常退出。
Variable
import paddle.fluid as fluid
import paddle.fluid.dygraph.base as base
# 示例 1
inp_word.shape # [2, 3]
dict_size = 20
with fluid.dygraph.guard():
emb = fluid.dygraph.Embedding(
size=[dict_size, 32],
param_attr='emb.w',
is_sparse=False)
static_rlt3 = emb(base.to_variable(inp_word))
static_rlt3.shape # [2, 3, 32]
weight_data = np.random.random(size=(128, 100)) # numpy格式的词向量数据
w_param_attrs = fluid.ParamAttr(
name="emb_weight",
learning_rate=0.5,
initializer=fluid.initializer.NumpyArrayInitializer(weight_data),
trainable=True)
with fluid.dygraph.guard():
emb = fluid.dygraph.Embedding(
size=[128, 100],
param_attr= w_param_attrs,