
caffe-TensorFlow-keras-theano-pytorch
五道口纳什
wx公众号/B站:五道口纳什
展开
-
tensorflow + keras —— optimizer、loss、metrics、regularizers(dropout)
SGD(随机梯度下降),LBFGS(受限的BFGS),CG(共轭梯度法)References[1] deep autoencoder with L-BFGS原创 2016-05-09 10:14:41 · 2163 阅读 · 0 评论 -
TensorFlow: couldn’t open CUDA library cupti64_80.dll、InternalError: Blas SGEMM launch failed
1. couldn’t open CUDA library cupti64_80.dll在资源管理器中查询 cupti64_80.dll 的位置。如对于 windows 用户而言,如果将 nvidia 的显卡驱动安装在默认位置,该 dll 文件的路径在原创 2017-03-15 22:36:26 · 7987 阅读 · 2 评论 -
TensorFlow 学习(七) — 常用函数 api、tf.nn、tf.keras
0. 四则运算平方:tf.square(),开方:tf.sqrt()1. 简单数理统计 Rn→R\mathbb R^n\rightarrow \mathbb R(从矢量到标量),意味着一种约简(reduce)。均值:tf.reduce_mean,求和:tf.reduce_sum stddev = tf.sqrt(tf.reduce_mean(tf.square(var - mean)))原创 2017-03-15 17:13:26 · 8700 阅读 · 0 评论 -
TensorFlow 学习(十五)—— tensorflow.python.platform
tensorflow.python.platform 下的常用工具类和工具函数:原创 2017-05-01 12:19:07 · 6762 阅读 · 0 评论 -
TensorFlow 实战(三)—— 实现常见公式
tf.reduce_mean (求向量的均值)原创 2017-03-11 11:20:05 · 2011 阅读 · 0 评论 -
TensorFlow 学习(十四)—— contrib 与 slim
1. tensorflow.contrib.layerstf.contrib.layers.xavier_initializer():一种经典的权值矩阵的初始化方式;原创 2017-03-26 12:42:24 · 7542 阅读 · 1 评论 -
tensorflow 的版本差异与变化
官方文档的说明,Transitioning to TensorFlow 1.01. 简单列举如下变量 tf.VARIABLES ⇒ tf.GLOBAL_VARIABLEStf.all_variables ⇒ tf.global_vairablestf.initialize_all_variables ⇒ tf.global_variables_initialize()原创 2017-03-20 21:53:16 · 6450 阅读 · 0 评论 -
TensorFlow 学习(十三)—— tf.app.flags
flags = tf.app.flagsFLAGS = flags.FLAGS原创 2017-03-25 23:04:25 · 6306 阅读 · 3 评论 -
keras + tensorflow —— 使用预训练模型
1. optimizer.minimize 与 global_stepoptimizer 的搭配使用原创 2017-03-25 23:01:30 · 1826 阅读 · 0 评论 -
TensorFlow 下 mnist 数据集的操作及可视化
首先需要连网下载数据集:mnsit = input_data.read_data_sets(train_dir='./MNIST_DATA', one_hot=True) # 如果当前文件夹下没有 MNIST_DATA,会首先创建该文件夹,然后下载 mnist 数据集训练集与测原创 2017-03-16 15:12:31 · 4397 阅读 · 0 评论 -
keras + tensorflow 基本使用 —— backend
theano 以及 TensorFlow 是 keras 的 backend(后端支持),因此,keras 本质上是对 thenao 或者 TensorFlow 的进一步封装(wrapper)。1. keras 下的 packageskeras.layers(对 layer 的抽象) from keras.layers import Input:输入层(首字母大写,是一个类,表示输入层)原创 2016-11-05 15:59:38 · 7554 阅读 · 0 评论 -
TFRecord —— tensorflow 下的统一数据存储格式
tensorflow 提供了统一的数据存储格式,即 TFRecord(record 表示记录),以提高程序的可扩展性,当数据来源十分复杂时,仍能有效记录输入数据中的信息。1. tfrecord 使用流程比如对于 mnist 训练数据集,我们要将其 label 和像素内容以 TFRecord 的形式写入到本地。原创 2017-05-25 10:33:59 · 1871 阅读 · 0 评论 -
keras 深度神经网络模型的搭建
theano.tensor是theano中一个重要的子模块:原创 2015-12-04 22:33:59 · 2656 阅读 · 0 评论 -
TensorFlow 语法及常用 API
1. tf.nn.conv2d 的参数padding=’SAME’ ⇒ 卷积之前的大小和卷积之后的大小一致,默认使用全 0 填充;padding=’VALID’ ⇒ 也即仅适用其有效部分,而不使用填充其他值;原创 2017-05-19 18:27:55 · 1422 阅读 · 0 评论 -
python hdf5 —— h5py
HDF(Hierarchical Data File)是美国国家高级计算应用中心(NCSA,National Center for Supercomputer Applications)为了满足各种领域研究需求(能适应不同科研领域所产生和依赖的数据的研究)而研制的一种能高效存储和分发科学数据的新型数据格式。可以存储不同类型的图像和数码数据文件;可在不同类型的机器上传输;统一处理这种文件格式的函原创 2017-07-08 09:36:46 · 2017 阅读 · 0 评论 -
caffe 源码阅读与运行流程
bvlc:Berkeley Vision and Learning Center.1. 目录结构models(四个文件夹均有四个文件构成,deploy.prototxt, readme.md, solver.prototxt, train_val.prototxt) bvlc_alexnetbvlc_googlenetbvlc_reference_caffenetbvlc_referen原创 2017-02-27 13:05:37 · 1052 阅读 · 0 评论 -
keras+tensorflow —— 可视化及tensorboard
TensorBoard 是 TensorFlow 官方推出的可视化工具,可将模型训练过程中的各种汇总数据(summaries)展示出来,包括:标量(scalars)图像(images)音频(audio),视频(video)计算图(Graphs)数据分布(Distributions)、直方图(Histograms)嵌入向量(embeddings)原创 2017-03-15 16:56:50 · 1632 阅读 · 0 评论 -
tensorflow:图(Graph)的核心数据结构与通用函数(Utility function)
Tensorflow一些常用基本概念与函数(2)1. 图(Graph)的核心数据结构tf.Graph.__init__:建立一个空图;tf.Graph.as_default():一个将某图设置为默认图,并返回一个上下文管理器,常与 with 结构相搭配原创 2017-04-26 12:53:05 · 3197 阅读 · 0 评论 -
TensorFlow 学习(八)—— 梯度计算(gradient computation)
1. 一个实例 relu = tf.nn.relu(tf.matmul(x, W) + b)C = [...][db, dW, dx] = tf.gradient(C, [b, w, x])原创 2017-03-16 11:28:57 · 8971 阅读 · 0 评论 -
深度学习框架 —— tflearn 的学习
1. tflearn.data_utilsfrom tflearn.data_utils import to_categorical one_hot 编码;第一个参数为属性列,第二个参数接受类别个数;原创 2017-03-24 22:06:01 · 4523 阅读 · 0 评论 -
TensorFlow 学习(一)—— tf.get_variable() vs tf.Variable(),tf.name_scope() vs tf.variable_scope()
scope 命名方法先说结论:tf.get_variable() 以及 tf.Variable() 是 TensorFlow 中创建变量的两种主要方式;如果在 tf.name_scope() 环境下分别使用 tf.get_variable() 和 tf.Variable(),两者的主要区别在于 tf.get_variable() 创建的变量名不受 name_scope 的影响;tf.get原创 2017-03-13 10:42:47 · 12555 阅读 · 2 评论 -
TensorFlow 学习(十一)—— 正则(regularizer)
正则作用的对象是目标函数,如图对均方误差使用 ℓ2\ell_2 正则:loss = tf.reduce_mean(tf.square(y-y_) + tf.contrib.layers.l2_regularizer(lambda)(w))1. 基本工作原理weights = tf.constant([[1., -2.], [-3., 4.]])with tf.Session() as sess:原创 2017-03-19 16:37:49 · 12144 阅读 · 0 评论 -
TensorFlow 实战(二)—— tf.train(优化算法)
Training | TensorFlowtf 下以大写字母开头的含义为名词的一般表示一个类(class)1. 优化器(optimizer)优化器的基类(Optimizer base class)主要实现了两个接口,一是计算损失函数的梯度,二是将梯度作用于变量。tf.train 主要提供了如下的优化函数:tf.train.Optimizertf.train.GradientDescent原创 2017-03-11 11:13:11 · 17030 阅读 · 0 评论 -
TensorFlow 学习(九)—— 初始化函数(概率分布函数 api、常数生成函数)
tensorflow 下的概率分布函数,一般用于对变量进行初始化,这里的变量显然是指神经网络的参数(连接层之间的权值矩阵和偏执向量)。标准高斯:tf.random_normal([2, 3], stddev=2),均值为 0,标准差为 2截断正态分布:tf.truncated_normal()原创 2017-03-19 15:34:12 · 5752 阅读 · 0 评论 -
学习 protobuf(一)—— ubuntu 下 protobuf 2.6.1 的安装
下载地址:https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz(如果初次下载失败,不妨多试几次,也可以尝试进入 http://download.csdn.net/detail/cyistudio/8131009 进行下载。原创 2017-02-26 23:29:26 · 3199 阅读 · 0 评论 -
fatal error: caffe/proto/caffe.pb.h: No such file or directory
一般出现在 caffe 的编译时,可通过如下方式将编译通过(首先需要进入 caffe 根目录):$ protoc src/caffe/proto/caffe.proto --cpp_out=.$ sudo mkdir include/caffe/proto$ sudo mv src/caffe/proto/caffe.pb.h include/caffe/protofatal error: ca原创 2017-02-27 20:34:33 · 12308 阅读 · 3 评论 -
TensorFlow 实战(四)—— tensor 的认识
1. tensor 基本属性tensor 的名字:t.op.nametensor 的尺寸:t.get_shape().as_list()W = tf.Variable(tf.zeros([784, 10]), name='Weight')W.op.name # WeightW.get_shape().as_list() # [784, 10]x = tf.placehold原创 2017-03-11 12:51:16 · 3886 阅读 · 0 评论 -
TensorFlow 实战(一)—— 交叉熵(cross entropy)的定义
对多分类问题(multi-class),通常使用 cross-entropy 作为 loss function。cross entropy 最早是信息论(information theory)中的概念,由信息熵(information entropy,与压缩比率有关)变化而来,然后被用到很多地方,包括通信,纠错码,博弈论和机器学习等。原创 2017-03-11 09:52:11 · 17539 阅读 · 1 评论 -
TensorFlow 学习(三)—— Variables、Session、初始化
0. What are the differences between tf.initialize_all_variables() and tf.global_variables_initializer()1. 变量初始化2. 识别未被初始化的变量;原创 2017-03-13 20:23:06 · 28160 阅读 · 3 评论 -
TensorFlow 学习(四)—— computation graph
TensorFlow 的计算需要事先定义一个 computation graph(计算图),该图是一个抽象的结构,只有在评估(evaluate)时,才有数值解,这点和 numpy 不同。这张图由一组节点构成。>> a = tf.ones((2, 2))>> tf.reduce_sum(a, reduction_indices=1)<tf.Tensor 'Sum_2:0' shape=(2,) d原创 2017-03-15 12:10:11 · 5260 阅读 · 0 评论 -
TensorFlow 学习(二)—— tf.Graph、tf.Session() 与 tf.Session().run()
1. 使用 tf.Session().run() 读取变量的值十分耗时原创 2017-03-13 18:19:42 · 24370 阅读 · 0 评论 -
TensorFlow 辨异 —— tf.placeholder 与 tf.Variable
二者的主要区别在于:tf.Variable:主要在于一些可训练变量(trainable variables),比如模型的权重(weights,W)或者偏执值(bias);声明时,必须提供初始值;名称的真实含义,在于变量,也即在真实训练时,其值是会改变的,自然事先需要指定初始值; weights = tf.Variable( tf.truncated_normal([IMAGE_PIXE原创 2017-03-12 23:51:47 · 32555 阅读 · 4 评论 -
prettytensor 的使用
prettytensor 顾名思义,对原始的 tensorflow 下的 tensor 进行封装(prettytensor 以 tensorflow 为基础,二者搭配使用),使其成为一个更为接口友好的 tensor,这里的接口友好指的是更便于像搭积木一般地构建深层神经网络。原创 2017-03-22 09:39:49 · 5061 阅读 · 0 评论 -
TensorFlow 实战(五)—— 图像预处理
当然 tensorflow 并不是一种用于图像处理的框架,这里图像处理仅仅是一些简单的像素级操作,最终目的比如用于数据增强;原创 2017-03-21 23:21:27 · 13290 阅读 · 0 评论 -
TensorFlow 学习(六) —— TensorFlow 与 numpy 的交互
1. 将 numpy 下的多维数组(ndarray)转化为 tf.convert_to_tensor()原创 2017-03-15 12:36:15 · 22066 阅读 · 0 评论 -
TensorFlow strides 参数讨论
更详细地讨论见 stackoverflow:Tensorflow Strides Argument卷积神经网络(CNN)在 TensorFlow 实现时涉及的 tf.nn.con2d(二维卷积)、tf.nn.max_pool(最大池化)、tf.nn.avg_pool(平均池化)等操作都有关于 strides(步长)的指定,因为无论是卷积操作还是各种类型的池化操作,都是某种形式的滑动窗口(slidin原创 2017-03-12 11:48:44 · 12992 阅读 · 4 评论