Hi! I’m trying to script_method the function below and jit complains “attribute lookup is not defined on builtin” for memory.data.new. I tried other variations: 1) torch.zeros, 2) torch.cuda.FloatTensor(shape).zero_() and nothing seems to work.
Any suggestion is welcome. The full model code can be found here:
hparams.decoder_rnn_dim, 1)
self.linear_projection = LinearNorm(
hparams.decoder_rnn_dim + hparams.encoder_embedding_dim,
hparams.n_mel_channels * hparams.n_frames_per_step)
self.gate_layer = LinearNorm(
hparams.decoder_rnn_dim + hparams.encoder_embedding_dim, 1,
bias=True, w_init_gain='sigmoid')
def get_go_frame(self, memory):
""" Gets all zeros frames to use as first decoder input
PARAMS
------
memory: decoder outputs
RETURNS
-------
decoder_input: all zeros frames
"""
B = memory.size(0)
def get_go_frame(self, memory):
decoder_input = Variable(memory.data.new(
memory.size(0), self.n_mel_channels * self.n_frames_per_step).zero_())
return decoder_input
This problem has been solved!
SimonW
(Simon Wang)
December 20, 2018, 5:41am
3
You should use memory.new_zeros
, btw
memory.new_zeros actually does not work with a jitted function (script_method)
unknown builtin op:
def get_go_frame(self, memory):
decoder_input: all zeros frames
"""
decoder_input = memory.new_zeros(
~~~~~~~~~~ <--- HERE
Any thoughts how to fix it?
tom
(Thomas V)
December 21, 2018, 7:48pm
5
I’d probably use torch.zeros and pass device, dtype.
Best regards
Thomas