杨培文

Yang Peiwen


  • 首页

  • 归档

  • 关于

  • 标签

如何配置一台深度学习工作站?

发表于 2019-06-15 | 更新于 2019-06-29

如何配置一台深度学习工作站?

这篇文章主要介绍的是家用的深度学习工作站,典型的配置有两种,分别是一个 GPU 的机器和 四个 GPU的机器。如果需要更多的 GPU 可以考虑配置两台四个 GPU 的机器。如果希望一台机器同时具备 6~8 个 GPU 需要联系专门的供应商进行配置,并且有专业的机房存放,放在家里噪声很大并且容易跳闸。

阅读全文 »

风格迁移三部曲

发表于 2018-07-15

风格迁移是一个很有意思的任务,通过风格迁移可以使一张图片保持本身内容大致不变的情况下呈现出另外一张图片的风格。本文会介绍以下三种风格迁移方式以及对应的代码实现:

  • 固定风格固定内容的普通风格迁移(A Neural Algorithm of Artistic Style)
  • 固定风格任意内容的快速风格迁移(Perceptual Losses for Real-Time Style Transfer and Super-Resolution)
  • 任意风格任意内容的极速风格迁移(Meta Networks for Neural Style Transfer)

本文所使用的环境是 pytorch 0.4.0,如果你使用了其他的版本,稍作修改即可正确运行。

阅读全文 »

如何抢到 iPhone X 深空灰色 256G

发表于 2017-11-05 | 更新于 2018-07-15

吐槽

因为没有在首发的时候抢到 iPhone X,又想早点拿到 iPhone X,等3~4周是不可能的,所以就只能从官网预约到 Apple Store 购买。而官网11月3日没有开放预约,于是就只能在11月4号预约。

一大早八点钟起来预约 iPhone X,懒得起床就在手机上直接预约。iPhone X 的火爆程度不出我的意料,八点整还能刷出来有货,预约的时候经过手机短信、身份证、选店铺等繁琐的流程以后,iPhone X 果然没货了。然而在去年就抢过 iPhone 7 Plus 的我知道,苹果店每小时都会放出来一批货,于是我就顺手写了个脚本。

阅读全文 »

手把手教你如何在Kaggle猫狗大战冲到Top2%

发表于 2017-03-18 | 更新于 2017-03-24

本文会通过 Keras 搭建一个深度卷积神经网络来识别一张图片是猫还是狗,在验证集上的准确率可以达到99.6%,建议使用显卡来运行该项目。本项目使用的 Keras 版本是1.2.2。

猫狗大战

数据集来自 kaggle 上的一个竞赛:Dogs vs. Cats,训练集有25000张,猫狗各占一半。测试集12500张,没有标定是猫还是狗。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
➜  猫狗大战 ls train | head
cat.0.jpg
cat.1.jpg
cat.10.jpg
cat.100.jpg
cat.1000.jpg
cat.10000.jpg
cat.10001.jpg
cat.10002.jpg
cat.10003.jpg
cat.10004.jpg
➜ 猫狗大战 ls test | head
1.jpg
10.jpg
100.jpg
1000.jpg
10000.jpg
10001.jpg
10002.jpg
10003.jpg
10004.jpg
10005.jpg

下面是训练集的一部分例子:

阅读全文 »

使用 Keras 来破解 captcha 验证码

发表于 2017-03-07 | 更新于 2017-03-30

本文会通过 Keras 搭建一个深度卷积神经网络来识别 captcha 验证码,建议使用显卡来运行该项目。

下面的可视化代码都是在 jupyter notebook 中完成的,如果你希望写成 python 脚本,稍加修改即可正常运行,当然也可以去掉这些可视化代码。Keras 版本:1.2.2。

captcha

captcha 是用 python 写的生成验证码的库,它支持图片验证码和语音验证码,我们使用的是它生成图片验证码的功能。

首先我们设置我们的验证码格式为数字加大写字母,生成一串验证码试试看:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from captcha.image import ImageCaptcha
import matplotlib.pyplot as plt
import numpy as np
import random

%matplotlib inline
%config InlineBackend.figure_format = 'retina'

import string
characters = string.digits + string.ascii_uppercase
print(characters)

width, height, n_len, n_class = 170, 80, 4, len(characters)

generator = ImageCaptcha(width=width, height=height)
random_str = ''.join([random.choice(characters) for j in range(4)])
img = generator.generate_image(random_str)

plt.imshow(img)
plt.title(random_str)
阅读全文 »

网格搜索算法与K折交叉验证

发表于 2017-03-01 | 更新于 2017-12-15

网格搜索算法和K折交叉验证法是机器学习入门的时候遇到的重要的概念。

网格搜索算法是一种通过遍历给定的参数组合来优化模型表现的方法。

以决策树为例,当我们确定了要使用决策树算法的时候,为了能够更好地拟合和预测,我们需要调整它的参数。在决策树算法中,我们通常选择的参数是决策树的最大深度。

于是我们会给出一系列的最大深度的值,比如 {'max_depth': [1,2,3,4,5]},我们会尽可能包含最优最大深度。

不过,我们如何知道哪一个最大深度的模型是最好的呢?我们需要一种可靠的评分方法,对每个最大深度的决策树模型都进行评分,这其中非常经典的一种方法就是交叉验证,下面我们就以K折交叉验证为例,详细介绍它的算法过程。

首先我们先看一下数据集是如何分割的。我们拿到的原始数据集首先会按照一定的比例划分成训练集和测试集。比如下图,以8:2分割的数据集:

阅读全文 »

如何自制室内空气质量检测仪

发表于 2017-02-11 | 更新于 2017-02-13

为什么做这个

其实很简单,我本科学自动化的,毕业设计选题的时候正好看到了这个题目,觉得很简单,对于生活在帝都的我也很实用,于是就想做个这个室内空气质量检测仪。

阅读全文 »

在AWS上配置深度学习主机

发表于 2017-01-27 | 更新于 2017-03-23

介绍

Amazon EC2 P2 实例

p2.xlarge 是一种非常适合深度学习的云服务器,它配备了 12G 显存的 Tesla K80 显卡,4核 CPU,60G 内存,以及 500M 的网速。如果你还嫌不够,可以选择它的8倍和16倍的版本。

阅读全文 »

猫狗大战

发表于 2017-01-03

猫狗大战

Dogs vs. Cats

阅读全文 »

驾驶员状态检测

发表于 2017-01-03

Distracted Driver Detection

阅读全文 »
12…7
杨培文

杨培文

杨培文的 blog

68 日志
19 标签
GitHub Weibo 知乎 Linkedin
© 2019 杨培文
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Pisces v6.7.0