- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
跟进:keras with tensorflow on GPU machine - some parts are very slow
从 tensorflow 1.4 运行 mnist_cnn.py(稍作修改 - 主要添加日志记录)
运行是使用预构建的 docker 镜像完成的:tensorflow/tensorflow:1.4.0-gpu-py3
在 p2.xlarge aws 机器(具有 Tesla K80 GPU)上性能良好,第一个批处理(主要是调用 _make_train_function)大约需要 2 秒:(参见开始批处理和结束批处理的时间戳)
2017-11-19 08:26:26,172 : INFO : fit
2017-11-19 08:26:26,637 : INFO : begin batch
2017-11-19 08:26:26.638409: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
2017-11-19 08:26:26.760940: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:892] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2017-11-19 08:26:26.761478: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Found device 0 with properties:
name: Tesla K80 major: 3 minor: 7 memoryClockRate(GHz): 0.8235
pciBusID: 0000:00:1e.0
totalMemory: 11.17GiB freeMemory: 11.11GiB
2017-11-19 08:26:26.761506: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1120] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: Tesla K80, pci bus id: 0000:00:1e.0, compute capability: 3.7)
2017-11-19 08:26:28,135 : INFO : end batch
x_train shape: (60000, 28, 28, 1)
60000 train samples
10000 test samples
Train on 60000 samples, validate on 10000 samples
Epoch 1/1
60000/60000 [==============================] - 12s - loss: 0.3526 - acc: 0.8920 - val_loss: 0.0818 - val_acc: 0.9755
Test loss: 0.081773182778
Test accuracy: 0.9755
在 p3.2xlarge 机器(带有 Tesla V100-SXM2-16GB GPU)上,相同的部分大约需要 10 分钟
2017-11-19 08:26:44,120 : INFO : fit
2017-11-19 08:26:44,715 : INFO : begin batch
2017-11-19 08:26:44.716680: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
2017-11-19 08:26:46.108295: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:892] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2017-11-19 08:26:46.108775: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Found device 0 with properties:
name: Tesla V100-SXM2-16GB major: 7 minor: 0 memoryClockRate(GHz): 1.53
pciBusID: 0000:00:1e.0
totalMemory: 15.77GiB freeMemory: 15.36GiB
2017-11-19 08:26:46.108815: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1120] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: Tesla V100-SXM2-16GB, pci bus id: 0000:00:1e.0, compute capability: 7.0)
2017-11-19 08:36:16,552 : INFO : end batch
x_train shape: (60000, 28, 28, 1)
60000 train samples
10000 test samples
Train on 60000 samples, validate on 10000 samples
Epoch 1/1
60000/60000 [==============================] - 576s - loss: 0.3418 - acc: 0.8949 - val_loss: 0.0769 - val_acc: 0.9772
Test loss: 0.0769035610346
Test accuracy: 0.9772
使用的代码:
#!/usr/bin/env python
'''Trains a simple convnet on the MNIST dataset.
Gets to 99.25% test accuracy after 12 epochs
(there is still a lot of margin for parameter tuning).
16 seconds per epoch on a GRID K520 GPU.
'''
from __future__ import print_function
import cProfile
import os
from tensorflow.contrib import keras
from tensorflow.contrib.keras import backend as K
import logging
logger = logging.getLogger(__name__)
logging.basicConfig(level=logging.INFO, format='\n%(asctime)s : %(levelname)s : %(message)s')
class callback(keras.callbacks.Callback):
def on_batch_begin(self, batch, logs=None):
if batch <= 1:
logger.info('begin batch')
class callback(keras.callbacks.Callback):
def on_batch_end(self, batch, logs=None):
if batch <= 1:
logger.info('end batch')
batch_size = 128
num_classes = 10
epochs = 1
# input image dimensions
img_rows, img_cols = 28, 28
# the data, shuffled and split between train and test sets
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
if K.image_data_format() == 'channels_first':
x_train = x_train.reshape(x_train.shape[0], 1, img_rows, img_cols)
x_test = x_test.reshape(x_test.shape[0], 1, img_rows, img_cols)
input_shape = (1, img_rows, img_cols)
else:
x_train = x_train.reshape(x_train.shape[0], img_rows, img_cols, 1)
x_test = x_test.reshape(x_test.shape[0], img_rows, img_cols, 1)
input_shape = (img_rows, img_cols, 1)
x_train = x_train.astype('float32')
x_test = x_test.astype('float32')
x_train /= 255
x_test /= 255
print('x_train shape:', x_train.shape)
print(x_train.shape[0], 'train samples')
print(x_test.shape[0], 'test samples')
# convert class vectors to binary class matrices
y_train = keras.utils.to_categorical(y_train, num_classes)
y_test = keras.utils.to_categorical(y_test, num_classes)
model = keras.models.Sequential()
model.add(keras.layers.Conv2D(32, kernel_size=(3, 3),
activation='relu',
input_shape=input_shape))
model.add(keras.layers.Conv2D(64, (3, 3), activation='relu'))
model.add(keras.layers.MaxPooling2D(pool_size=(2, 2)))
model.add(keras.layers.Dropout(0.25))
model.add(keras.layers.Flatten())
model.add(keras.layers.Dense(128, activation='relu'))
model.add(keras.layers.Dropout(0.5))
model.add(keras.layers.Dense(num_classes, activation='softmax'))
model.compile(loss=keras.losses.categorical_crossentropy,
optimizer=keras.optimizers.Adadelta(),
metrics=['accuracy'])
profiler = cProfile.Profile()
profiler.enable()
logger.info('fit')
model.fit(x_train, y_train,
batch_size=batch_size,
epochs=epochs,
verbose=1,
validation_data=(x_test, y_test), callbacks=[callback()])
profiler.dump_stats(os.path.expanduser('~/profiler.pstats'))
score = model.evaluate(x_test, y_test, verbose=0)
print('Test loss:', score[0])
print('Test accuracy:', score[1])
最佳答案
使用使用 CUDA 9 构建的 tensorflow 版本似乎几乎完全解决了这个问题:https://github.com/mind/wheels/releases/tag/tf1.4-gpu-cuda9
使用此版本还需要安装 MKL 库 - 说明如下:https://software.intel.com/en-us/articles/intel-mkl-dnn-part-1-library-overview-and-installation
解释为什么会发生这种情况,或者不涉及修改版本的 tensorflow 的解决方案仍然是首选
关于python - keras 启动时间 (_make_train_function()) 在 Tesla V100-SXM2-16GB GPU 上非常慢,与功能较弱的 GPU 相比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47375416/
我有一个执行有限差分计算的 CUDA 代码。该代码在 Tesla M2090 处理器上运行良好,没有错误。相同的代码会在 Tesla T10 处理器中导致大量错误。我的结果中有很多零。 有谁知道这两种
我有一个执行有限差分计算的 CUDA 代码。该代码在 Tesla M2090 处理器上运行良好,没有错误。相同的代码会在 Tesla T10 处理器中导致大量错误。我的结果中有很多零。 有谁知道这两种
我打算购买一个真正的 GPU 来运行并行算法(预算 2k-4k)。现在我到处都能看到配备了“专为 GPGPU 设计”的 nVidia Tesla GPU 卡的 super 计算机。 虽然这乍一看似乎很
可以在 nvidia Tesla 上并发运行的线程总数是多少,比如 S1070。 最佳答案 结合来自 NVIDIA's product page 的信息与 this site和一个 interesti
我只是想知道我是否可以像普通服务器一样使用基于 tesla 的服务器(需要明确说明是 Tesla GPU)作为网络服务器,例如通过安装 apache 和 mysql? 如果可能的话,我想知道它是否会有
Closed. This question is off-topic。它当前不接受答案。 想要改善这个问题吗? Update the question,所以它是用于堆栈溢出的on-topic。 9年前
如您所知,SpaceX 将特斯拉跑车发射到太空,目前它正在绕太阳运行。 https://en.wikipedia.org/wiki/Elon_Musk%27s_Tesla_Roadster 我如何在
我有一小段代码可以在 Nvidia 旧架构(Tesla T10 处理器)上完美运行,但不能在 Fermi(Tesla M2090)上运行 我了解到费米的行为略有不同。因此,不安全的代码可能会在旧架构上
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
Closed. This question needs to be more focused。它当前不接受答案。
采用 TCC 模式的 Tesla(Fermi 或 Kepler)与采用 WDDM 的 Geforce(同代)相比? 我编写的程序在内核开销方面存在一些非常严重的问题,因为它必须重复启动内核,开销如此之
我想知道我是否可以使用 Nvidia Tesla K20 和 Direct3D 11? 我想使用 Direct3D 渲染图像,然后使用 CUDA 处理渲染图像,[我知道如何计算 CUDA 互操作性]。
我有兴趣测试我的神经网络(一个用作生成器的自动编码器 + 一个用作鉴别器的 CNN),它使用 3dconv/deconv 层和新的 Volta 架构,并从混合精度训练中受益。我用 CUDA 9 和 C
我有一个使用 OpenCL 的项目,该项目正在我的 MAC 上运行,具有以下规范: MacBook Air (13-inch, Mid 2013) 1.3 GHz Intel Core i5 Inte
我在我的算法中应用了 UVA 和 OpenMP 以使其更强大。 问题是,当我启动一个并行内核时,例如,3 个 CPU 线程同时启动一个内核。一个线程具有 nan 值。 GPU X 似乎无法从 GPU0
我可以访问运行 Debian 7 并安装了两 block Nvidia Tesla 卡的系统。我想使用 OpenCL 进行一些基准测试。然而,OpenCL 无法找到任何兼容平台。我是否需要任何额外的库
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 9年前关闭。 Improve this q
我正在制作一个应用程序来跟踪诸如行驶里程、使用的千瓦时等信息。但是我很难弄清楚如何获取 client_id 和 client_secret,因为 API 是非官方的。 这是包含 API 详细信息的 A
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 8 年前。 Improve this ques
之前我一直认为Tesla不会支持OpenGL API,但是最近了解到Tesla产品也可以通过OpenGL进行可视化。 我有一个工作站,其中有 2 个 Intel E5 CPU 和 1 个 Tesla
我是一名优秀的程序员,十分优秀!