Intro

Kaggle提供免费访问内核中的NVidia K80 GPU。该基准测试表明,在深度学习模型的训练过程中,为您的内核启用GPU可实现12.5倍的加速。
这个内核是用GPU运行的。我将运行时间与在CPU上训练相同模​​型内核的运行时间进行比较。
GPU的总运行时间为994秒。仅具有CPU的内核的总运行时间为13,419秒。这是一个12.5倍的加速(只有一个CPU的总运行时间是13.5倍)。
将比较仅限于模型训练,我们看到CPU从13,378秒减少到GPU的950秒。因此,模型训练加速有点超过13倍。
确切的加速度取决于许多因素,包括模型架构,批量大小,输入管道复杂性等。也就是说,GPU在Kaggle内核中开辟了很多可能性。
如果您想将这些GPU用于深度学习项目,您可能会发现我们的深度学习课程是最快速的路径,以便您可以运行自己的项目。我们还在我们的数据集平台上添加了新的图像处理数据集,我们总是有许多竞赛让您使用这些免费的GPU来尝试新的想法。

以下文本显示了如何启用GPU并提供有关基准测试的详细信息。

Adding a GPU

我们通过首先打开内核控件来设置此内核以在GPU上运行。

选择“设置”项卡。 然后选中启用GPU的复选框。 验证GPU是否已连接到控制台栏中的内核,它应在资源使用情况指标旁边显示GPU ON。

GPU支持的实例具有较少的CPU功率和RAM。 而且,许多数据科学库无法利用GPU。 因此,GPU对某些任务很有价值(特别是在使用TensorFlow,Keras和PyTorch等深度学习库时)。 但是对于大多数其他任务而言,如果没有GPU,你会更好。

The data

该数据集包含美国手语中29种不同符号的图像。 这些是26个字母(A到Z)加上空格,删除和无标记。 我们的模型将查看这些图像,并学习如何对每张图像中的符号进行分类。

以下示例图片

[1]

# Imports for Deep Learning
from keras.layers import Conv2D, Dense, Dropout, Flatten
from keras.models import Sequential
from keras.preprocessing.image import ImageDataGenerator# ensure consistency across runs
from numpy.random import seed
seed(1)
from tensorflow import set_random_seed
set_random_seed(2)# Imports to view data
import cv2
from glob import glob
from matplotlib import pyplot as plt
from numpy import floor
import randomdef plot_three_samples(letter):print("Samples images for letter " + letter)base_path = '../input/asl_alphabet_train/asl_alphabet_train/'img_path = base_path + letter + '/**'path_contents = glob(img_path)plt.figure(figsize=(16,16))imgs = random.sample(path_contents, 3)plt.subplot(131)plt.imshow(cv2.imread(imgs[0]))plt.subplot(132)plt.imshow(cv2.imread(imgs[1]))plt.subplot(133)plt.imshow(cv2.imread(imgs[2]))returnplot_three_samples('A')
Samples images for letter B

Data Processing Set-Up

[3]

data_dir = "../input/asl_alphabet_train/asl_alphabet_train"
target_size = (64, 64)
target_dims = (64, 64, 3) # add channel for RGB
n_classes = 29
val_frac = 0.1
batch_size = 64data_augmentor = ImageDataGenerator(samplewise_center=True, samplewise_std_normalization=True, validation_split=val_frac)train_generator = data_augmentor.flow_from_directory(data_dir, target_size=target_size, batch_size=batch_size, shuffle=True, subset="training")
val_generator = data_augmentor.flow_from_directory(data_dir, target_size=target_size, batch_size=batch_size, subset="validation")

Model Specification

[4]

my_model = Sequential()
my_model.add(Conv2D(64, kernel_size=4, strides=1, activation='relu', input_shape=target_dims))
my_model.add(Conv2D(64, kernel_size=4, strides=2, activation='relu'))
my_model.add(Dropout(0.5))
my_model.add(Conv2D(128, kernel_size=4, strides=1, activation='relu'))
my_model.add(Conv2D(128, kernel_size=4, strides=2, activation='relu'))
my_model.add(Dropout(0.5))
my_model.add(Conv2D(256, kernel_size=4, strides=1, activation='relu'))
my_model.add(Conv2D(256, kernel_size=4, strides=2, activation='relu'))
my_model.add(Flatten())
my_model.add(Dropout(0.5))
my_model.add(Dense(512, activation='relu'))
my_model.add(Dense(n_classes, activation='softmax'))my_model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=["accuracy"])

Model Fitting

[5]

my_model.fit_generator(train_generator, epochs=5, validation_data=val_generator)
Epoch 1/5
1224/1224 [==============================] - 206s 169ms/step - loss: 1.1439 - acc: 0.6431 - val_loss: 0.5824 - val_acc: 0.8126
Epoch 2/5
1224/1224 [==============================] - 179s 146ms/step - loss: 0.2429 - acc: 0.9186 - val_loss: 0.5081 - val_acc: 0.8492
Epoch 3/5
1224/1224 [==============================] - 182s 148ms/step - loss: 0.1576 - acc: 0.9495 - val_loss: 0.5181 - val_acc: 0.8685
Epoch 4/5
1224/1224 [==============================] - 180s 147ms/step - loss: 0.1417 - acc: 0.9554 - val_loss: 0.4139 - val_acc: 0.8786
Epoch 5/5
1224/1224 [==============================] - 181s 148ms/step - loss: 0.1149 - acc: 0.9647 - val_loss: 0.4319 - val_acc: 0.8948<keras.callbacks.History at 0x7f5cbb6537b8>

在Kaggle上免费使用GPU相关推荐

  1. 怎么上永久免费的GPU与TPU服务器colab

    什么是 Colaboratory? 借助 Colaboratory(简称 Colab),可以在浏览器中编写和执行 Python 代码,并且: 无需任何配置 免费使用 GPU,TPU 轻松共享 cola ...

  2. tensorflow切换到gpu_使用免费的GPU进行深度学习

    Colab简介 Google做过一件很酷的事情--提供免费的GPU云服务器,内置Jupyter Notebook环境,叫做"Colaboratory".因此它是一个很好的工具,可以 ...

  3. Colaboratory:手把手教你使用Google免费的云端IDE进行深度学习(免费的GPU加速)的详细攻略

    Colaboratory:手把手教你使用Google免费的云端IDE进行深度学习(免费的GPU加速)的详细攻略 目录 Colaboratory简介 Colaboratory使用步骤 (1).首先登陆谷 ...

  4. 计算机视觉相关比赛,竞赛 | Kaggle上有哪些有趣又多金的计算机视觉类比赛?

    原标题:竞赛 | Kaggle上有哪些有趣又多金的计算机视觉类比赛? 本文阅读时间约5分钟 如今计算机视觉已经成为人工智能领域的热门研究对象,很多小伙伴都想通过一些有效的途径来学习和运用所学知识,有什 ...

  5. Kaggle上的犬种识别(ImageNet Dogs)

    Kaggle上的犬种识别(ImageNet Dogs) Dog Breed Identification (ImageNet Dogs) on Kaggle 在本节中,将解决在Kaggle竞赛中的犬种 ...

  6. 如何下载kaggle上的数据集

    如何下载kaggle上的数据集 1 直接下载 2 通过kaggle提供的API下载数据集 2.1 Cifar10 数据集地址 2.2 kaggle如何通过kaggle提供的API下载数据集 3 错误 ...

  7. Kaggle上主要有两大方法:梯度提升机和深度学习

    Python深度学习: 在2016年和2017年,Kaggle上主要有两大方法:梯度提升机和深度学习.具体而言,梯度提升机用于处理结构化数据的问题,而深度学习则用于图像分类等感知问题.使用前一种方法的 ...

  8. 在Kaggle上赢得大数据竞赛的技巧和窍门

    在Kaggle上赢得大数据竞赛的技巧和窍门 解决方案 平台 数据 应用 方法 阅读1906  原文:The tips and tricks I used to succeed on Kaggle  作 ...

  9. kaggle上面的score以及ROC_AUC数值咋回事

    TP:真的传染病患者被检测为传染病患者 FP:假的传染病患者被检测为传染病患者 假如现在10000人 其中9900正常,100人禽流感. 如果你的分类器全部设定为正常,那么精度就是9900,但是这个我 ...

最新文章

  1. 为什么平头哥做芯片如此迅猛?
  2. 50种优化数据库的方法
  3. linux 安装反病毒软件
  4. 嫦娥之死天蓬元帅的转世
  5. 真效率神器,UI稿智能转换成前端代码,准确率极高
  6. QT每日一练day14:QFontDialog字体对话框
  7. git .gitignore file does not work
  8. 漂亮的抽奖C#源代码
  9. CISCO路由器DHCP 配置
  10. STM32F091 can通信配置,can波特率计算方法
  11. ffmpeg推拉流优化方案
  12. 进销存excel_Excel教程:教大家做简单的进销存
  13. python怎么改路径_python更改路径
  14. MX550性能怎么样 mx550 属于什么档次的显卡
  15. Ubuntu中实现中英文切换
  16. C语言bool类型定义
  17. 【原创】python语言实现半自动排班系统
  18. js中的onload函数
  19. rx590 黑苹果 无货_应粉丝要求花9000配了一台高端黑苹果电脑,大家看看值不值吧!...
  20. Nature子刊:研究者研制出胞内和胞外神经电信号同步采集的多模态电极

热门文章

  1. 【应用】Lambda表达式
  2. ubuntu eclipse java,Ubuntu快速安装eclipse
  3. mysql to mssql_MysqlToMsSql
  4. 弹出并点击弹框关闭 自定义toast_关于别名配置使用弹框交互应用的思考
  5. java 正则表达式 替换字符串img标签的路径_正则表达式和有限自动机的应用
  6. 两相流计算中,如何用Tecplot提取水相断面平均物理量?
  7. python能开发什么产品_三周学 Python ?不,三周做个产品
  8. java webservice用户验证_使用java webservice的.net4.0 web app需要Usernametoken身份验证
  9. 蓝桥杯c语言a组2015,2015第七届蓝桥杯决赛C语言A组--穿越雷区(DFS)
  10. Windows CE下驱动程序开发基础