我在 Paperspace 云基础架构上创建了虚拟笔记本,后端使用 Tensorflow GPU P5000 虚拟实例。当我开始训练我的网络时,它比使用纯 CPU 运行时引擎的 MacBook Pro 慢 2 倍。我如何确保 Keras NN 在训练过程中使用 GPU 而不是 CPU?
请在下面找到我的代码:
from tensorflow.contrib.keras.api.keras.models import Sequential
from tensorflow.contrib.keras.api.keras.layers import Dense
from tensorflow.contrib.keras.api.keras.layers import Dropout
from tensorflow.contrib.keras.api.keras import utils as np_utils
import numpy as np
import pandas as pd
# Read data
pddata= pd.read_csv('data/data.csv', delimiter=';')
# Helper function (prepare & test data)
def split_to_train_test (data):
trainLenght = len(data) - len(data)//10
trainData = data.loc[:trainLenght].sample(frac=1).reset_index(drop=True)
testData = data.loc[trainLenght+1:].sample(frac=1).reset_index(drop=True)
trainLabels = trainData.loc[:,"Label"].as_matrix()
testLabels = testData.loc[:,"Label"].as_matrix() …Run Code Online (Sandbox Code Playgroud) 我有以下类,它有getNextToken迭代数组项的方法:
class Parser {
let tokens: [Token]
var position = 0
init(tokens: [Token]) {
self.tokens = tokens
}
func getNextToken() -> Token? {
guard position < tokens.count else {
return nil
}
return tokens[position++]
}
}
Run Code Online (Sandbox Code Playgroud)
但我收到编译器的警告信息,即在Swift 3中不推荐使用++
我应该如何重写我的代码让方法在当前位置返回数组项并在此之后增加位置?
添加一行的标准建议position +=1不适合这里,因为我在评估时正在退出范围tokens[position++]