因为Microsoft Azure深度学习虚拟机NC6上的框架已经更新到了最新版本,所以notebooks代码选择在上面运行,仅占用了显卡Nvidia K80 GPU一半的性能。...此处,在CPU和GPU上向avg_pool层进行前向传递的时间均计算在内。 我从中学到了什么? 关于CNN 以下提供了一些我在看到github上面提出的问题后比较跨框架的测试准确率时的一些见解。...1、上面的例子(Keras除外),为了便于比较,尝试使用相同级别的API,因此都使用相同的生成器函数。 对于MXNet和CNTK,我尝试了一个更高级别的API,在这里我使用了框架的训练生成器函数。...CNTK是channels first,我曾经在Keras上错误的配置为channels last。这样就必须在每一个batch上改变它的顺序,同时会造成性能严重的下降。...但是,这种实现不太灵活(例如,可能希望层归一化),并且接下来如果在CPU上运行推理可能会出现问题。 2、在cuDNN这个层面,大部分框架的运行时间是非常相似的。
我使用 Keras 进行了第一次尝试(http://minimaxir.com/2017/04/char-embeddings/),但这并不有趣。...Docker 容器可以使用 nvidia-docker 进行加载,这可以让 Docker 容器访问主机上的 GPU。在容器中运行深度学习脚本只需运行 Docker 命令行。...显然,我的模型架构导致 CNTK 在预测时遇到错误,而「CNTK+简单的 LSTM」架构并没有发生这种错误。...CNTK 在 LSTM/MLP 上更快,TensorFlow 在 CNN/词嵌入(Embedding)上更快,但是当网络同时实现两者时,它们会打个平手。...撇开随机错误,有可能 CNTK 在 Keras 上的运行还没有完全优化(实际上,1bit-SGD 的设置不起作用(https://github.com/Microsoft/CNTK/issues/1975
而Keras是一个高层的API,它为快速实验而开发。因此,如果希望获得快速结果,Keras会自动处理核心任务并生成输出。Keras支持卷积神经网络和递归神经网络,可以在CPU和GPU上无缝运行。...但是如果考虑到数据科学家和开发者们拥抱Facebook的PyTorch的速度,那它可能很快就要落伍了。 我是PyTorch的拥护者,在我所研究过的框架中,PyTorch最富灵活性。...张量是多维数组,就像numpy的ndarray一样,它也可以在GPU上运行。PyTorch使用动态计算图,PyTorch的Autograd软件包从张量生成计算图,并自动计算梯度。...如果选对了正确的框架,当遇到错误时,便不会感到惊讶了! 某些框架在处理图像数据时工作得非常好,但无法解析文本数据;某些框架在处理图像和文本数据时,性能很好,但是它们的内部工作原理很难理解。...Caffe 在图像数据上构建深度学习模型时,Caffe是不错的选择。但是,当谈到递归神经网络和语言模型时,Caffe落后于我们讨论过的其他框架。
我们都知道,在学习计算机的过程中,总会出现各种各样的问题,这一点我想计算机专业的伙伴们感同身受;更别说在学习深度学习的过程中了。 接下来,就介绍一下几个深度学习过程中几个典型而又容易范的错误。...(1) 注意cuda、cudnn、cuda driver和cudatoolkit的版本 cuda是nvidia推出的用于自家GPU的并行计算框架,也就是说cuda只能在nvidia的GPU上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥...cudnn是nvidia打造的针对深度神经网络的加速库,是一个用于深层神经网络的GPU加速库。如果你要用GPU训练模型,cudnn不是必须的,但是一般会采用这个加速库。...首先尝试删除nvidia相关的kernel mod sudo rmmod nvidia //这里介绍的为linux版本的 当然这里一般会报个Module nvidia is in use by的错误...此时,直接使用nvidia-smi命令并不能表明TensorFlow就能顺利用上GPU 比如说我们用Keras跑模型时指定了GPU,有时候会报如下错误: [在这里插入图片描述] 一方面,你的机器可能确实没有那么多
我们已在 BEEVA 上做一些实验测试了,目前我已经感觉到这是一个运行非常快的工具并且能够得到非常好的运行结果(平均准确率均值——mAP 很高)。...为了达到这一速度,DSSTNE 框架用 GPU 运行,这也是它的弊端之一:不同于篇中分析的其他框架或者库,这个框架不支持使用者随意在 CPU 和 GPU 中切换,而这可能会对有些尝试有用,但我们在 DSSTNE...我并没有读到很多关于使用这个库的博客、在线实验案例或者在 Kaggle 里的相关评论。...这也是多 GPU 支持、多机器上的水平扩展甚至定制硬件最近开始得势的原因。 深度学习领域非常活跃、易变。很可能我现在所说的在 2017 年的中旬就变了。...我的建议是,如果你是初学者,使用 Keras,如果不是初学者,也可以使用它。如果你参加过 Kaggle 比赛,你肯定注意到了 Kaggle 的两大巨星:Keras 和 XGBoost。
我们已在 BEEVA 上做一些实验测试了,目前我已经感觉到这是一个运行非常快的工具并且能够得到非常好的运行结果(平均准确率均值——mAP 很高)。...为了达到这一速度,DSSTNE 框架用 GPU 运行,这也是它的弊端之一:不同于篇中分析的其他框架或者库,这个框架不支持使用者随意在 CPU 和 GPU 中切换,而这可能会对有些尝试有用,但我们在 DSSTNE...我并没有读到很多关于使用这个库的博客、在线实验案例或者在 Kaggle 里的相关评论。...这也是多 GPU 支持、多机器上的水平扩展甚至定制硬件最近开始得势的原因。 深度学习领域非常活跃、易变。很可能我现在所说的在 2017 年的中旬就变了。...我的建议是,如果你是初学者,使用 Keras,如果不是初学者,也可以使用它。如果你参加过 Kaggle 比赛,你肯定注意到了 Kaggle 的两大巨星:Keras 和 XGBoost。
如果你想在另一个基础设施上运行它,只需更改几行。 架构和块(在Keras中) 将深度学习与经典机器学习区别开来的是它的组合架构。...你甚至可以查看错误分类的图片。然而,这个线性模型主要是在图像上寻找颜色和它们的位置。 Neptune通道仪表盘中显示的错误分类的图像 整体得分并不令人印象深刻。...我在训练集上的准确率达到了41%,更重要的是,37%的准确率在验证上。请注意,10%是进行随机猜测的基线。 多层感知器 老式的神经网络由几个密集的层组成。在层之间,我们需要使用一个激活函数。...,我们在验证上的准确率也达到了70%。...-2.0-gpu-py3--worker gcp-gpu-medium 这个过程需要大约半个小时,但是结果会更好—验证的准确性应该在83%左右!
注册 使用之前,请你先到 Russell Cloud 上注册一个免费账号。 因为都是中文界面,具体步骤我就不赘述了。 注册成功后,你就拥有了1个小时的免费 GPU 使用时长。...环境 下文用到的数据和执行脚本,我都已经放到了这个 gitlab 链接。 你可以直接点击这里下载压缩包,之后解压。 解压后的目录里,包含两个子文件夹。...之前因为搞错了这个事儿,浪费了我很长时间。 运行 要执行你自己的深度学习代码,你需要在 Russell Cloud 上面,新建一个项目。 你得给项目起个名称。...你在本地,是看不到执行结果的。 你需要到网页上,查看“任务”下“运行日志”,在系统提供的模拟终端下,查看运行输出结果。...默认的 Keras,居然用的还是 Python 3.5 + Tensorflow 1.1。 注意千万别直接用这个默认的 Keras ,否则 Python 3.6 后版本出现的一些优秀特性无法使用。
对于 Keras,编写这种版本说明更像是一个令人讨厌的流程。我也跟 PyTorch 的一位作者 Adam Paszke 聊了一下,他说他们很注重这个环节,这让我有信心在自己的项目中使用它。...在你遇到 bug 时,这几乎就成为了纯粹的享受,因为你已经知道「只要让调试器高速运行就可以在一秒内解决这个小 bug」。...这实际上令我回想起自己刚开始使用真正交互式的、带断点和运行时评估等功能的调试器的日子,那是一种全新的效率体验。其中唯一的限制是你在代码中所建立的抽象逻辑。...结论 我现在更喜欢 Keras,因为我上一次试用 PyTorch 时,它还有几个 GPU 方面的问题,还有另一些问题我没有克服。...在 Keras 上,我的项目已经运行了数月,其效果相当不错,尽管我在运行时间更久(并非几天时间)的项目中看到了一些 bug 报告,而且使用静态图的后端来调试 Keras 相当麻烦。
但是我就是想使用R语言进入深度学习空间,所以我就从Python领域转入到了R领域,继续我的深度学习的研究了。这可能看起来几乎不可能的。但是今天这变成了可能。...但是,随着Keras库在R后端的发布,并且在后台还可以使用张力流(TensorFlow)(CPU和GPU兼容性),所以在深度学习领域,R将再次与Python打成平手。...代码在i5处理器上运行,运行时间为13.5秒,而在TITANx GPU上,验证精度为98.44,平均运行时间为2秒。...我觉得在keras-R和Python中应该没有任何区别,因为R中的keras创建了一个conda实例并在其中运行keras。你可以尝试运行一下下面等效的python代码。...事实上,R中的keras包创建了一个conda环境,并安装了在该环境中运行keras所需的一切。但是,让我更为激动的是,现在看到数据科学家在R中建立现实生活中的深层次的学习模型。
能否用云端 GPU 跑机器学习代码,让我的笔记本少花些力气呢? 偶遇 有这个想法,是因为最近在 Youtube 上面,我看到了 Siraj Raval 的一段新视频。...我记得那么清楚,是因为光如何配置 AWS ,他就专门录了数十分钟的视频。 AWS 虽然已经够简单,但是对于新手来说,还是有些门槛。 FloydHub 这个网站,刚好能解决用户痛点。...凡是设计给懒人用的东西,我都喜欢。 我于是立即注册了账户,并且做了邮件验证。 之后,我免费获得了2个小时的 GPU 时间,可以自由尝试运行机器学习任务。...为了能把珍贵的 GPU 运算时间花在刀刃上,我认真地阅读了快速上手教程。 几分钟后,我确信自己学会了使用方法。...尝试 首先,我到 FloydHub 的个人控制面板上,新建了一个任务,起名叫做 “try-keras-boston-house-regression”。
一些教程为了避免冗长加载 MNIST 有一个自定义的封装器,比如 framework.datasets.mnist,但是对此我有两个问题: 初学者可能并不太清楚如何在数据上重新运行。...如果另一个框架有一个层需要你从头编写,用更有效的方式处理数据资源,或者使其更匹配正运行于其上的平台(比如安卓)。...为方便对比,上文中的实例(除了 Keras)使用同等水平的 API 和同样的生成器函数。我在 MXNet 和 CNTK 的实验中使用了更高水平的 API,在该 API 上使用框架的训练生成器函数。...使用 Keras 时,选择匹配后端框架的 [NCHW] 排序很重要。CNTK 首先使用通道运行,我错误地将 Keras 配置为最后使用通道。...数据类型的假设可能会不同:我尝试使用 float32 和 int32 作为 X、y。
这个函数会加载模型并对批图像进行预测。此过程在 GPU 上运行最佳,但也可以使用 CPU。 本例中,为了简单起见,我们将使用在 ImageNet 数据集上预先训练的 ResNet50。...安装 Apache Web 服务器 由于我对 Apache 更加熟悉,我将在这个例子中使用 Apache,但是你也可以使用其它的网络服务器,例如 nginx。...在调试的时候,我通常会开着运行调试的终端: $ tail -f /var/log/apache2/error.log ……所以我可以在错误滚入的瞬间看到它。...使用错误日志来帮助你在服务器上创建并运行 Flask。 启动你的深度学习模型服务器 你的 Apache 服务器应该已经在运行了。...在快速交换机上,这不是什么大问题,但是你应该考虑在同一台服务器上同时运行模型服务器和 Redis,来保证数据尽可能离 GPU 近。
Text 3 也可以尝试其他对新手更友好的编辑器,例如 PyCharm https://www.jetbrains.com/pycharm/ 运行代码 运行代码 的三种方法 使用编辑器编写代码,并在编辑器中运行...使用编辑器编写代码,并在命令行中运行 使用Jupyter Notebook编写代码并运行 安装包 可以用pip或conda安装 Python包 pip install tensorflow keras...如果安装过慢,可以尝试使用 国内的源,例如清华提供的源 pip install tensorflow==1.9.0 keras==2.2.0 -i https://pypi.tuna.tsinghua.edu.cn...Desktop 我习惯于后者,所以在后续代码中,如果使用字符串表示或拼接文件路径,则都是使用/ 如果在 Windows 上报错,请将/相应地改为\ 中文编码 在Windows上读写文本文件时,最好指定.../en/latest/backend/ GPU CNN 等神经网络模型使用 GPU 训练更快,有条件的话可以用GPU,不然只能用CPU进行训练,相应地需要安装tensorflow的gpu版本 pip install
他们共享一个插座,插座上插着支架。如果某位读者想要复现这个项目,这是非常有用的。他们只需要调整后视镜上的支架就可以了。目前,这个底座在我的车(路虎 Freelander)上工作得很好。 ?...YOLOv3 我在网上找了很多预先训练过的车牌模型,并没有我最初预期的那么多,但我找到了一个在 3600 张车牌图上训练过的。这个训练集并不大,但也比什么都没有强。...第二个面临的则是延迟和基础设施方面的挑战,特别是使用 gpu 进行推理。 在我的研究中,我偶然发现了一个名为 cortex 的开源项目。...这个 consumer 在另一个进程上单独运行,它还必须尝试保持队列的大小固定为指定值,以便以一致的帧速率显示帧。...我需要大约 20 个装备了 gpu 的实例才能顺畅地运行它。根据这一组 gpu 的延迟,你可能需要更多的 gpu 或是更少的实例。
Keras 在 TensorFlow 上是一个高级的 API,它是最容易使用的深度学习模型。TensorFlow本 身对于初学者来说太底层,会让初学者感到困惑。...步骤 3:确保模型在 iOS 上运行 现在有了一个简单的工作模型,我的下一步是确保它能在一个手机上运行,并且运行得足够快。...当你运行教程时,在几百张图片上学习和训练第一个模型,一个 CPU 就足够了,使用 GPU 会显得累赘。...在 GPU 上使用一个真实的数据集(8000 张图片)和一个数据生成器(80000 张图片)进行训练十分重要,即使它要花 24 小时。...亚马逊的 GPU 对个人开发来说比较昂贵,在 24 小时一次的迭代当中,大概每小时花一美元,花费会迅速增加。谢谢 Cosmin 让我通过 SSH 进入你的电脑,让我能够免费使用你的GPU。 ?
在训练模型前,我尝试了一些策略,如果它们有用,接下来事情将会变得更容易。可惜,这些策略都没起效。 我尝试的第一件事是使用一个名为 SwiftOCR 的光学字符识别库。...我们在 Facebook 上发布声明后,不到 24 小时,所有 60 万张图片都标记完了! ? 但不幸的是,少数人误解了这个任务,结果数据中掺杂了大量的标记错误的图像。...我使用这个数据集代替 MNIST 数据集,并在教程的指导下,使用 Keras 制作神经网络。结果比我预期的更好:精度 98.6%!在后续版本中,精度能够提高到 99% 以上。...我 2016 年的 Macbook Pro 运行 tensorflow-cpu 速度都胜过 AWS p2.xlarge GPU 实例。我怀疑训练瓶颈是磁盘而不是计算。 上云也很贵。...所以,我接下来还要继续尝试。 我一直在收集正确对齐的数独题和扫描得不好的数据集,我准备使用这些数据来训练另一个神经网络,这个神经网络的作用是过滤掉坏的扫描数据。
似乎分也不高嘛,但是 3.7 的得分意味着比数据集中大约 80% 的人要好看。 数据集作者利用该数据集训练多个模型,尝试根据人脸照片预测这个人的魅力。...不幸的是,keras.applications 中没有 ResNet18、ResNext50,因此我无法完全复现该研究,不过使用 resnet50 复现程度应该很接近。...我们在 keras 中初始化 resnet50 模型时,使用 ResNet50 架构创建了一个模型,同时下载了在 ImageNet 数据集上训练好的权重。...原始分数分布(正态): ? 预测分数分布(正态): ? 结果看起来不错。现在我们来看下这个深度神经网络给我打几分吧。我一开始用了这张照片: ?...好多了~老实讲我还是想得更高分~ :) 最后说明一下,我使用 Google Colaboratory 构建和调整模型,它提供 Python notebook,可以免费使用 GPU!
Keras是一个高层神经网络API,由Python编写,并且能够在TensorFlow、Microsoft Cognitive Toolkit(CNTK)以及Theano之上运行。...❓ 常见问题(Q&A) Q: 为什么我在安装Keras时遇到了网络错误? 猫哥答: 可能是由于网络不稳定导致的,你可以尝试使用国内的镜像源来安装。...例如: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow keras Q: 为什么在训练模型时我的GPU没有被使用?...pip install tensorflow-gpu Q: 我如何保存和加载Keras模型?...解决Keras开发中的Bug总结表格 问题描述 可能原因 解决方法 网络错误 网络不稳定或源不可用 使用国内镜像源 GPU未被使用 未安装GPU版本的TensorFlow 安装tensorflow-gpu
领取专属 10元无门槛券
手把手带您无忧上云