Tensorflow 训练模型被困在谷歌虚拟机计算引擎上
您好,我正在参加谷歌tensorflow认证考试,讲师Laurence Moroney在NLP上上传了一个ML模型来预测推特消息的情绪。我可以在我的电脑上训练这个模型没有问题,在谷歌colab上也没有问题 但因为我的电脑是surface book 1 i5-6300u,没有gpu,而且深度学习模型需要巨大的计算资源,所以我决定在谷歌云上创建一个虚拟机,拥有16vCPU、60GB内存和1个特斯拉T4 gpu。我还需要使用Pycharm IDE进行考试。我使用的是Tensorflow 2.3.0和Python 3.8.6 我可以在谷歌云上训练其他模型,一点问题也没有。事实上,谷歌云上的培训速度是我个人电脑的8-10倍 但是对于这个特定的模型,当我执行代码行时:Tensorflow 训练模型被困在谷歌虚拟机计算引擎上,tensorflow,Tensorflow,您好,我正在参加谷歌tensorflow认证考试,讲师Laurence Moroney在NLP上上传了一个ML模型来预测推特消息的情绪。我可以在我的电脑上训练这个模型没有问题,在谷歌colab上也没有问题 但因为我的电脑是surface book 1 i5-6300u,没有gpu,而且深度学习模型需要巨大的计算资源,所以我决定在谷歌云上创建一个虚拟机,拥有16vCPU、60GB内存和1个特斯拉T4 gpu。我还需要使用Pycharm IDE进行考试。我使用的是Tensorflow 2.3.0和P
history=model.fit(训练序列、训练标签、历元数=历元数、验证数据=(测试序列、测试标签)、verbose=1)
训练陷入困境。不过,正如我之前所说,在我自己的电脑上进行培训没有问题,尽管速度很慢,而且在谷歌colab上也是如此。我想这是因为预先训练好的重量文件(斯坦福大学的glove.6B.100d.txt)要求我在嵌入层中使用
代码:
!wget --no-check-certificate \
https://storage.googleapis.com/laurencemoroney-blog.appspot.com/glove.6B.100d.txt \
-O /tmp/glove.6B.100d.txt
embeddings_index = {};
with open('/tmp/glove.6B.100d.txt') as f:
for line in f:
values = line.split();
word = values[0];
coefs = np.asarray(values[1:], dtype='float32');
embeddings_index[word] = coefs;
embeddings_matrix = np.zeros((vocab_size+1, embedding_dim));
for word, i in word_index.items():
embedding_vector = embeddings_index.get(word);
if embedding_vector is not None:
embeddings_matrix[i] = embedding_vector;
model = tf.keras.Sequential([
tf.keras.layers.Embedding(vocab_size+1, embedding_dim, input_length=max_length, weights=[embeddings_matrix], trainable=False),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Conv1D(64, 5, activation='relu'),
tf.keras.layers.MaxPooling1D(pool_size=4),
tf.keras.layers.LSTM(64),
tf.keras.layers.Dense(1, activation='sigmoid')
])
model.compile(loss='binary_crossentropy',optimizer='adam',metrics=['accuracy'])
model.summary()
num_epochs = 50
training_padded = np.array(training_sequences)
training_labels = np.array(training_labels)
testing_padded = np.array(test_sequences)
testing_labels = np.array(test_labels)
history = model.fit(training_padded, training_labels, epochs=num_epochs, validation_data=(testing_padded, testing_labels), verbose=2)
以下是劳伦斯·莫罗尼的代码链接:
希望有人能帮助我。我束手无策。而且只学了2个月的机器学习,我是金融硕士生背景。任何能回答这个问题的人都将不胜感激