开源深度学习框架PlaidML安装及测试 一

PlaidML 致力于跨平台开发部署的开源高性能深度学习框架,目前PlaidML支持Keras,OpenCL,Linux,macOS和Windows的支持。最重要的是PlaidML 可以使用AMD的显卡在windows平台上进行深度学习,由于手头上的笔记本只有A卡,所以决定尝试一下利用A卡的GPU来尝试一下,虽然是基于Opencl的加速,尝试一下和CUDA的对比。

1安装PlaidML

1.1安装python

在windows平台上安装PlaidML还是比较简单的,按照官网的例子,其实不需要安装Chocolatey这个软件,只需要安装python 和vcredist2015就可以了,还有显卡的驱动需要安装,支持OpenCL 1.2版本以上。
官网安装说明

1.2安装PlaidML-keras

这需要安装PlaidML版本的keras,PlaidML-keras最新的版本是0.7,但是最新的版本安装的时候有问题,具体参照GitHub上的issue,所以最好是指定版本安装
pip install plaidml-keras==0.6.4

1.3运行PlaidML-setup

运行Plaid-setup

2测试运行

GitHub上的Hello VGG例子

import numpy as np
import os
import time

os.environ["KERAS_BACKEND"] = "plaidml.keras.backend"

import keras
import keras.applications as kapp
from keras.datasets import cifar10

(x_train, y_train_cats), (x_test, y_test_cats) = cifar10.load_data()
batch_size = 8
x_train = x_train[:batch_size]
x_train = np.repeat(np.repeat(x_train, 7, axis=1), 7, axis=2)
model = kapp.VGG16()
model.compile(optimizer='sgd', loss='categorical_crossentropy',
              metrics=['accuracy'])

print("Running initial batch (compiling tile program)")
y = model.predict(x=x_train, batch_size=batch_size)

# Now start the clock and run 10 batches
print("Timing inference...")
start = time.time()
for i in range(10):
    y = model.predict(x=x_train, batch_size=batch_size)
print("Ran in {} seconds".format(time.time() - start))

这里采用的是keras的标准接口,直接导入keras的模型和predict的功能,一下为运行的结果
运行结果
GPU的使用情况
GPU使用情况

3测试结果

加载Opencl的速度还是挺快的,比tensorflow加载CUDA的速度要快,可能是我的笔记本电脑的显存比较少,只有2G,运行的结果可以看到batch_size为8,运行10次,标准的VGG16输入的大小为224x224X3,predictde1时间大约为0.26秒。

4待测试项目

  1. PlaidML 的CPU加速
  2. 和Tensorflow的对比
  3. 和OpenCV的DNN模块加速效果对比
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值