当前位置: 首页 > 知识库问答 >
问题:

GPU tensorflow运行速度比笔记本电脑上的CPU tensorflow慢?

鞠征
2023-03-14

我最近在我的笔记本电脑上安装了GPU tenstorflow、CUDA和cuDNN,使用本教程使用我的GPU训练我的模型。我的笔记本电脑是联想ideapad 510,处理器=i5-7代,GPU=GForce 940MX(4GB)。根据教程,我安装并配置了使用GPU所需的所有更改。

每个epoc只需6秒钟就可以编译60000张图像。在nvidiasmi表中,我可以看到我的GPU内存使用量是19MiB。在本教程中,他的GPU内存使用率为777MB。

然后我试着运行我自己的数据集和模型,它有88000个图像,运行10个EPOC。本次培训的nvidia smi将GPU的使用情况显示为19MiB<代码>tf。测验\u gpu\u是否可用()也返回FALSE。

classifier = Sequential()


classifier.add(Conv2D(32, (3, 3), input_shape = (100, 100, 3), activation = 'relu'))
classifier.add(MaxPooling2D(pool_size = (2, 2)))

classifier.add(Conv2D(32, (3, 3), activation = 'relu'))
classifier.add(MaxPooling2D(pool_size = (2, 2)))

classifier.add(Flatten())

classifier.add(Dense(units = 128, activation = 'relu'))
classifier.add(Dense(units = 39, activation = 'softmax'))

classifier.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])



from keras.preprocessing.image import ImageDataGenerator

train_datagen = ImageDataGenerator(rescale = 1./255,
                                   shear_range = 0.2,
                                   zoom_range = 0.2,
                                   horizontal_flip = True)

test_datagen = ImageDataGenerator(rescale = 1./255)

training_set = train_datagen.flow_from_directory('train',
                                                 target_size = (100,100),
                                                 batch_size = 32,
                                                 class_mode = 'categorical')

test_set = test_datagen.flow_from_directory('test',
                                            target_size = (100, 100),
                                            batch_size = 32,
                                            class_mode = 'categorical')

classifier.fit_generator(training_set,
                         steps_per_epoch = 88534,
                         epochs = 10,
                         validation_data = test_set,
                         validation_steps = 1418)

classifier.save('/home/harish/Desktop/asl-alphabet/asl_pred.h5')

为什么我不能比通常的CPU更快地训练数据?如何启用GPU进行训练?

共有2个答案

酆奇文
2023-03-14

在笔记本电脑上,它发生了一个应用程序不想使用专用卡,因为它是通过英特尔显示器工作的。检查您的笔记本电脑是否在3d设置下使用nvidia控制面板中的Nvidia图形处理器,选择高性能Nvidia图形。

柴正祥
2023-03-14

您使用的链接有多种NVIDIA驱动程序安装方法。我不知道你用的是哪种方法。通常不推荐第一种方法,因为大多数情况下,安装回溯驱动程序的时间都很长。(如果您想重新安装驱动程序,请参阅tensorflow官方文档中的说明。)

不过,现在来谈谈要点。

nvidia-smi命令工作时,让我们跳过驱动程序安装部分。

但是,tf。测验_gpu_可用吗()返回由多种原因引起的False。(即CuDNN或Tensorflow与当前驱动程序不兼容)。

一个快速的解决方案可能是

>

  • 请检查您当前的GPU驱动程序版本,并搜索与当前GPU驱动程序版本兼容的合适的Tensorflow verson。

    使用conda环境安装tensorflow。这将下载正确的CUDA、CuDNN和其他必要的库。

    conda安装-c anaconda

    conda安装-c anaconda keras-gpu

  •  类似资料:
    • 我想将IPython笔记本的宽度设置为2500px,并将其向左对齐。我该怎么做? 我使用此代码来应用我自己的CSS: 我的CSS的内容是: 如果我用这个CSS运行IPython脚本,那么我的笔记本网页将向左对齐,单元格的宽度为2000px,但是网页变成了大约1000px大小的水平滚动。所以我的细胞只有前半部分是可见的。 如果我设置在或在然后水平滚动消失,所以笔记本网页宽度将是2500px宽,我看到

    • 我努力想喜欢IPython笔记本,但可能是因为我太习惯于用vi编写代码并在命令行执行,所以我发现它的一些默认设置很有挑战性。可以对以下内容做些什么(可能在某个配置文件中)? 我希望默认输出行号,而不必记住,也不必每次都设置别名。 我如何设置默认为"off",以阻止IPython污染我的命名空间与它的非百分比魔法和shell命令?我知道我可以使用选项和选项:是否有等效的选项? 让我抓狂的是,我从来都

    • 我有一个简单的jupyter笔记本,比如说foo。ipynb。我只想以通常的方式运行nbconvert:在本地机器上执行!jupyter nbconvert foo公司。ipynb,或jupyter notebook foo。外壳中的ipynb。在Google Colaboratory上,这不起作用。当然这是因为foo。ipynb未在驱动器上本地运行,但在这种情况下,连接驱动器和Colab的常用方

    • 已在远程linux计算机上安装了Anaconda Python。 在本地Windows上使用puty登录到远程linux机器以远程启动Ipython笔记本。它从8888端口开始。 遥远的_user@remote_host$ipython笔记本电脑--无浏览器--端口=8888 现在我需要在本地浏览器上访问这个笔记本。尝试过做ssh隧道。 C:\用户\windowsUser SSH:连接到主机rem

    • 每当我从Git中心下载Flutter项目并尝试运行它时,我都会收到以下错误消息。系统找不到指定的路径。错误:无法找到或加载主类org.gradle.wrapper。GradleWrapperMain异常:Gradle任务汇编调试失败,退出代码为1 我的Android Studio的当前版本是:4.0.1和Gradle版本是:分布Url=https://services.gradle.org/dis

    • GitHub问题链接: https://github.com/kubernetes/minikube/issues/1994 Windows上的多克程序已经安装好了,泊客程序运行正常,容器运行正常。 泊克停止并运行,用于运行K8s设置。两种情况,状态相同 - 迷你库贝没有启动。 我安装了Google Cloud SDK,然后启动minikube/kubectl来设置K8S,仅供参考。Hyper-V