Tensorflow 训练模型被困在谷歌虚拟机计算引擎上

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

您好,我正在参加谷歌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倍

但是对于这个特定的模型,当我执行代码行时:
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个月的机器学习,我是金融硕士生背景。任何能回答这个问题的人都将不胜感激