【问题标题】:Use tf.contrib.legacy_seq2seq.embedding_rnn_seq2seq with tensorflow 1.5 case 'TypeError: can't pickle _thread.lock objects'将 tf.contrib.legacy_seq2seq.embedding_rnn_seq2seq 与 tensorflow 1.5 case 'TypeError: can't pickle _thread.lock objects'一起使用
【发布时间】:2018-03-16 15:25:06
【问题描述】:

使用 tf.contrib.legacy_seq2seq.embedding_rnn_seq2seq 和 tensorflow 1.5 case 'TypeError: can't pickle _thread.lock objects',这个问题和https://github.com/suriyadeepan/practical_seq2seq/issues/31一样 我用别人发帖的方式:修改embedding_rnn_seq2seq函数中tf的代码

encoder_cell = copy.deepcopy(cell) => encoder_cell = copy.copy(cell)

这是解决此问题的正确方法吗? 或者有没有其他方法可以解决这个问题。 tf的API把我弄的乱七八糟,改得这么频繁,

tf.nn.rnn_cell, tf.contrib.seq2seq, tf.legacy_seq2seq

杀了我!!

【问题讨论】:

标签: python tensorflow seq2seq


【解决方案1】:

将此添加到您的脚本中。我希望它现在可以工作

    setattr(tf.contrib.rnn.GRUCell, '__deepcopy__', lambda self, _: self)
    setattr(tf.contrib.rnn.BasicLSTMCell, '__deepcopy__', lambda self, _: self)
    setattr(tf.contrib.rnn.MultiRNNCell, '__deepcopy__', lambda self, _: self)

【讨论】:

    猜你喜欢
    • 2018-07-20
    • 2018-06-26
    • 1970-01-01
    • 2018-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多