2017年10月

TensorFlow学习笔记2:训练

框架的作用就是为了帮助我们减少一些模式化的工作。而TensorFlow在神经网络训练上的一大作用就是可以帮助我们实现Back Propagation过程。如果对神经网络有所了解就会知道,BP简单的来说就是一个链式求导的过程,每次去手动推导计算式是一件很麻烦的事情。但是,有了TensorFlow就可以做到只实现一个正向传播的过程,反向传播过程由框架自动实现。
TensorFlow提供了各种各样的优化器(optimizer)。下面就用一个简单的例子来进行说明。

- 阅读剩余部分 -

TensorFlow学习笔记1:基本概念

张量(Tensor)与其形状(Shape)

TensorFlow采用的基本数据单元被称为张量(tensor),张量可以看做是任意维度的数组。一个张量的秩(rank)是这个数组的维度个数。

形状就是张量的每个维度的维数。

3                                # 这是一个标量,它的rank为0,shape为[]
[1, 2, 3]                        # 这是一个向量,它的rank为1,shape为[3]
[[1., 2., 3.], [4., 5., 6.]]     # 这是一个矩阵,它的rank为2,shape为[2, 3]
[[[1., 2., 3.]], [[7., 8., 9.]]] # 这是一个rank为3的张量,它的shape为[2,1,3]

- 阅读剩余部分 -

如何使用conda切换Python版本

与JavaScript正好相反,Python3已经发布多时,但社区的很多包依然要运行在Python2下,所以折腾Python版本成了一个很麻烦的事。好在有一个很好的Python管理工具conda,可以帮助解决这一历史难题。
conda有很多特定封装,Anaconda是其中一个非常适合科学计算的,此处就以Anaconda为例。装好Anaconda并正确配置环境变量之后,在命令行就可以使用conda命令了。

查看可用Python版本

conda search python

这条命令会列出所有包含python字符串的包。如果想要精确匹配,可以加上--full-name参数:

conda search --full-name python

安装一个不同的Python版本

安装Python 3.6:

conda create -n py36 python=3.6 anaconda

其中,py36是自定义的环境名,python=3.6指定安装Python3.6,最后的anaconda是元包,能够一次安装好所有Anaconda发行版兼容的包。
安装Python 2.7:

conda create -n py27 python=2.7 anaconda

激活环境

Windows系统,激活py36

activate py36

macOS和Linux,激活py36:

source activate py36

最后可以用python --version验证一下,发现已经可用了。

参考阅读:

  1. Managing Environments

Debug手记:VIM在mac OS High Sierra上出现“Image not found”问题

问题描述

将macOS更新至High Sierra之后,VIM出现故障,启动时缺少必要动态链接库(Image not found)。

解决方案

第一时间想到的解决方案是,使用brew upgrade更新。然而却出现了找不到Python.h的问题。
接下来使用brew doctor命令,检查报出的所有Warning。发现有一条提示至关重要,大意是如果环境变量$PATH包含了Anaconda的路径,有可能导致某些包编译时break。那么解决问题的方案就变得非常明朗:将$PATH中Anaconda相关的内容暂时移除。再一次使用brew upgrade后,所有问题成功解决。