小编Sae*_*eed的帖子

在新版本的TensorFlow中,tf.nn.rnn相当于什么?

我曾经使用以下方法在TensorFlow的0.8版本中创建RNN网络:

from tensorflow.python.ops import rnn

# Define a lstm cell with tensorflow
lstm_cell = rnn_cell.BasicLSTMCell(n_hidden, forget_bias=1.0)

# Get lstm cell output
outputs, states = rnn.rnn(cell=lstm_cell, inputs=x, dtype=tf.float32)
Run Code Online (Sandbox Code Playgroud)

rnn.rnn()不再可用了,听起来它已被移动到tf.contrib.创建RNN网络的确切代码是BasicLSTMCell什么?

或者,如果我有一个堆叠的LSTM,

lstm_cell = tf.contrib.rnn.BasicLSTMCell(hidden_size, forget_bias=0.0)
stacked_lstm = tf.contrib.rnn.MultiRNNCell([lstm_cell] * num_layers)
outputs, new_state =  tf.nn.rnn(stacked_lstm, inputs, initial_state=_initial_state)
Run Code Online (Sandbox Code Playgroud)

tf.nn.rnn在新版本的TensorFlow中有什么替代品?

tensorflow recurrent-neural-network

10
推荐指数
2
解决办法
5809
查看次数

使用Word2VecModel.transform()在map函数中不起作用

我使用Spark构建了一个Word2Vec模型并将其保存为模型.现在,我想在另一个代码中使用它作为离线模型.我已经加载了模型并用它来呈现一个单词的向量(例如Hello),它运行良好.但是,我需要使用map在RDD中调用它.

当我在map函数中调用model.transform()时,它会抛出此错误:

"看起来你正试图从广播引用SparkContext"例外:你似乎试图从广播变量,动作或转换引用SparkContext.SparkContext只能在驱动程序上使用,而不能在工作程序上运行的代码中使用.有关更多信息,请参阅SPARK-5063.

代码:

from pyspark import SparkContext
from pyspark.mllib.feature import Word2Vec
from pyspark.mllib.feature import Word2VecModel

sc = SparkContext('local[4]',appName='Word2Vec')

model=Word2VecModel.load(sc, "word2vecModel")

x= model.transform("Hello")
print(x[0]) # it works fine and returns [0.234, 0.800,....]

y=sc.parallelize([['Hello'],['test']])
y.map(lambda w: model.transform(w[0])).collect() #it throws the error
Run Code Online (Sandbox Code Playgroud)

我将非常感谢你的帮助.

python apache-spark word2vec pyspark apache-spark-mllib

5
推荐指数
1
解决办法
1520
查看次数