【发布时间】:2018-09-04 10:18:59
【问题描述】:
我已经成功安装了带有 GPU 的 TensorFlow。当我运行以下脚本时,我得到了这个结果:
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\platform\cpu_feature_guard.cc:140]
您的 CPU 支持此 TensorFlow 二进制文件不支持的指令 编译使用:AVX2 2018-03-26
找到具有属性的设备 0:名称:GeForce GTX 970 主要:5 次要: 2 memoryClockRate(GHz): 1.253 pciBusID: 0000:01:00.0 totalMemory: 4.00GiB freeMemory: 3.31GiB 2018-03-26 11:47:03.186046: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\gpu\gpu_device.cc:第1312章】
添加可见 gpu 设备:0 2018-03-26 11:47:04.062049: I C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\gpu\gpu_device.cc:993]
创建 TensorFlow 设备 (/device:GPU:0 with 3043 MB memory) -> 物理 GPU(设备:0,名称:GeForce GTX 970,pci 总线 ID: 0000:01:00.0,计算能力:5.2)[名称:“/device:CPU:0” device_type: "CPU" memory_limit: 268435456 locality { } 化身: 8082333747214375667 ,名称:“/device:GPU:0” 设备类型:“GPU” memory_limit: 3190865920 locality { bus_id: 1 } 化身: 1190887510488091263 physical_device_desc:“设备:0,名称:GeForce GTX 970, pci bus id: 0000:01:00.0, 计算能力: 5.2" ]
例如,如果我在 Keras 中运行 CNN,它会自动使用 GPU 吗?还是我必须编写一些代码来强制 Keras 使用 GPU?
例如,对于 MNIST 数据集,我将如何使用 GPU?
model = Sequential()
model.add(Conv2D(32, kernel_size=(3, 3),
activation='relu',
input_shape=input_shape))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(num_classes, activation='softmax'))
model.compile(loss=keras.losses.categorical_crossentropy,
optimizer=keras.optimizers.Adadelta(),
metrics=['accuracy'])
model.fit(x_train, y_train,
batch_size=batch_size,
epochs=epochs,
verbose=1,
validation_data=(x_test, y_test))
【问题讨论】:
标签: python tensorflow keras gpu