TensorFlow
zaf赵
这个作者很懒,什么都没留下…
展开
-
使用约登指数寻找最佳ROC曲线阈值
预备知识对于二元分类结果评价,ROC曲线是常用标准,其使用TPR与FPR绘制而成。(相关知识推荐博文:一文让你彻底理解准确率,精准率,召回率,真正率,假正率,ROC/AUC) 而TPR与FPR的计算是根据选定的一系列阈值(Threshold)得到的,本文的目的便是寻找最优阈值,在假正率FPR与真正率TPR之间做折中。ROC用以判断分类模型好坏,是否足以区分两类对象,而寻找最佳阈值可以使分类效果达到最优,符合实际应用要求。计算方法Youden Index参考链接:全面了解ROC曲线如图所原创 2020-09-29 11:26:19 · 22687 阅读 · 4 评论 -
查看TensorFlow与keras的GPU是否可用
在TensorFlow中测试GPU是否可用方法如下:import tensorflow as tfprint(tf.test.is_gpu_available())结果信息如下Python 3.6.10 |Anaconda, Inc.| (default, May 8 2020, 02:54:21)[GCC 7.3.0] on linuxType "help", "copyright", "credits" or "license" for more information.>..原创 2020-09-14 11:11:42 · 1726 阅读 · 0 评论 -
UCF101数据集标签错误解决方案
最近在用ECO视频理解方案,进行数据处理时,发现了一个标签和视频名对应不上的问题,然后导致程序运行错误,问题描述如下:出现问题后,逐步排查代码,发现代码没有问题,让我百思不得其解,最后偶然发现是“v_HandStandPushups_g08_c01”与UCF101视频数据集中“v_HandstandPushups_g08_c01.avi”,名字不一样;其实问题重点是“HandstandPu...原创 2019-12-24 18:38:17 · 1580 阅读 · 1 评论 -
stylegan2报错“undefined symbol: _ZN10tensorflow12OpDefBuilder6OutputESs”的解决方案
系统环境 本机python与gcc环境如下 问题描述 dnnlib: Running training.training_loop.training_loop() on localhost...Streaming data using training.dataset.TFRecordDataset...Dataset shape = [3, 512, 512]Dyna...原创 2019-12-19 17:55:01 · 10048 阅读 · 8 评论 -
StyleGAN2源码以及相应译文
2018年12月,美国芯片巨头英伟达开发的一款超逼真面部生成器。这个基于GAN的模型表现得非常好,以至于大多数人都无法分辨它是一张合成的“假脸”。2019年2月,英伟达宣布将开源这款漂亮的工具,并将其命名为“StyleGAN”。这一机器学习技术是为了生成模拟真实图像的新图像。使用StyleGAN,不同于大多数其他生成器,可以定制不同的因素来更改生成的图像的结果。 Styl...原创 2019-12-16 17:43:27 · 4480 阅读 · 1 评论 -
在TensorFlow环境中查看GPU是否可用
查看是否有GPUimport tensorflow as tfgpu_device_name = tf.test.gpu_device_name()print(gpu_device_name)输出/device:GPU:0GPU是否可用# 返回True或者Falsetf.test.is_gpu_available()from tenso...原创 2019-12-16 17:10:40 · 4746 阅读 · 1 评论 -
使用Python解析“Cifar10 Binary”数据生成图像 进行cifar10训练
背景获取到cifar10数据后 希望将数据还原成图片 方便观看并且可进行进一步处理cifar10数据格式介绍可参看:cifar10 数据格式介绍本文将介绍1.通过tensorflow解析binary格式数据 2.解析python格式数据目录背景 binary格式数据解析 python 格式数据解析binary格式数据解析参考:https://...原创 2019-12-16 13:15:37 · 350 阅读 · 0 评论 -
基于StyleGAN的Face-Morphing
本文详细介绍了生成对抗网络(GAN)的知识,并用其变换人脸,并探寻如何利用StyleGAN生成不同属性(如年龄、微笑等)的人脸。概述直到最近,我才开始探索深度学习的全部内容,并在计算机视觉中遇到了这些有趣的想法和项目。即使我的知识和经验有限,我也希望这可以帮助其他一些初学者对该领域产生兴趣并尝试一些令人兴奋的新事物。我找到一个非常棒的YouTube频道,叫做Arxiv Insi...原创 2019-12-09 15:45:52 · 1215 阅读 · 0 评论 -
使用ssh登录服务器进行TensorFlow训练时,本地查看Tensorboard的方法
当使用服务器进行模型训练时,想要查看一些可视化结果,如果远程服务器和本机在一个局域网内,可以通过以下命令解决: 登录服务器: 先用ssh工具重定向:ssh -L 16006:127.0.0.1:10006 username@remote_server_ip -p 10006 其中:16006代表自己本机的端口号,10006是服务器上tensorboard使用的端口号。 启动Te...原创 2019-12-02 19:04:39 · 1247 阅读 · 0 评论 -
tensorflow 指定使用gpu处理,tensorflow占用多个GPU但只有一个在跑
我们在刚使用tensorflow的过程中,会遇到这个问题,通常我们有多个gpu,但是在通过nvidia-smi查看的时候,一般多个gpu的资源都被占满,但是只有一个gpu的GPU-Util和 219W / 250W(Usage/Cap)会被占满。实际上我们只有一个在跑,但是我们其实只需要一个卡,其他卡要跑其他的资源,这时候怎么办呢。import osos.e...原创 2019-11-19 19:53:52 · 3479 阅读 · 1 评论 -
TensorFlow 警告Cause: module 'gast' has no attribute 'Num'
警告信息WARNING:tensorflow:Entity <bound method TensorFlowOpLayer._defun_call of <tensorflow.python.eager.function.TfMethodTarget object at 0x000001805B549780>> could not be transformed and...原创 2019-11-19 19:43:45 · 6989 阅读 · 0 评论 -
在TensorFlow中自定义loss并进行变量初始化
一般情况下,tensorflow里面变量初始化过程为:#variables ...........#.....................init = tf.initialize_all_variables()sess.run(init)这里 tf.initialize_all_variables() 会初始化所有的变量。实际过程中,假设有a, b, c三个变量,其中a已经...原创 2019-10-29 15:35:42 · 586 阅读 · 0 评论 -
tensorflow高阶API——tf.estimator API自定义Estimator
https://blog.csdn.net/weixin_42499236/article/details/86763029#4_147 https://blog.csdn.net/wangdongwei0/article/details/82990276 https://zhuanlan.zhihu.com/p/41473323 http://xudongyang.coding.me/te...原创 2019-09-12 15:27:16 · 196 阅读 · 0 评论 -
基于Tensorflow的Dataset 高阶API处理Input pipeline
在TensorFlow 1.3版本之前,读取数据一般有两种方法:使用placeholder + feed_dict读内存中的数据 使用文件名队列(string_input_producer)与内存队列(reader)读硬盘中的数据Dataset API同时支持从内存和硬盘的数据读取,相比之前的两种方法在语法上更加简洁易懂。Dataset API可以更方便地与其他高阶API配合,快速搭建网络...原创 2019-09-12 14:59:01 · 383 阅读 · 0 评论 -
深度学习模型压缩之MobileNetv1
本文主要针对谷歌论文详细解读https://arxiv.org/abs/1704.04861,官方参考代码https://github.com/tensorflow/models/blob/master/research/slim/nets/mobilenet_v1.py摘要 我们针对移动端以及嵌入式视觉的应用提出了一类有效的模型叫MobileNets。MobileNe...原创 2019-07-19 10:59:39 · 1342 阅读 · 0 评论 -
TensorFlow 中使用hooks实现Early_Stopping
在这篇博客中训练CNN的时候,即便是对fc层加了dropout,对loss加了L2正则化,依然出现了过拟合的情况(如下图所示),于是开始尝试用early stop解决拟合问题。(训练集的loss在下降而测试集的loss却在5k步左右开始上升,说明过拟合了)想要实现ES,首先需要知道loss的值(以便根据loss值在xx次迭代内的变化决定是否需要停止training),Tensor...原创 2019-07-22 19:33:06 · 1863 阅读 · 2 评论 -
基于TensorFlow的cosine相似度代码实现
def cosine(q,a): pooled_len_1 = tf.sqrt(tf.reduce_sum(q * q, 1)) pooled_len_2 = tf.sqrt(tf.reduce_sum(a * a, 1)) pooled_mul_12 = tf.reduce_sum(q * a, 1) score = tf.div(pooled_mul_12, ...原创 2019-07-22 11:33:03 · 2402 阅读 · 0 评论 -
TensorFlow 训练多任务多标签模型
可以参考这篇博客https://www.jianshu.com/p/270d5de903b6原创 2019-09-29 15:54:40 · 1219 阅读 · 0 评论 -
基于TensorFlow的Facenet 人脸识别实现说明
1. 开发环境OS:ubuntu16.04tensorflow版本:1.12.0python版本:3.6.82. 下载源码到本地facenet官方github:https://github.com/davidsandberg/facenet.gitgit clone https://github.com/davidsandberg/facenet.git在requ...原创 2019-07-22 10:58:41 · 3196 阅读 · 1 评论 -
tf.data.Dataset.from_tensor_slices中的shuffle()、repeat()、batch()用法
1 代码引用库文件from __future__ import absolute_import, division, print_function, unicode_literalsimport numpy as npimport pandas as pdimport tensorflow as tffrom tensorflow import feature_columnfr...原创 2019-09-12 16:07:23 · 5936 阅读 · 1 评论 -
爬虫 + CNN(卷积神经网络)实现名家画作识别与分类
例子描述:通过用CNN网络对 梵高,莫奈,毕加索,达芬奇 四位画家的作品进行学习,学出一个模型,这个模型具有识别这个四位画家作品的能力。所需环境:Python3.6 + Tensorflow如果使用cpu版本,可以参考:https://www.jianshu.com/p/da141c730180如果使用gpu版本,可以参考:https://www.jianshu.com/p/62d4...原创 2019-09-12 17:18:34 · 2139 阅读 · 1 评论 -
一次读取tfrecod文件与tfrecord中的样本数量
当使用tensorflow训练时候,由于生成tfrecord为多个文件,该怎么办那?可以参考如下代码:tfrecord_file_path = '/train/*.tfrecords’#train是存放tfrecord的文件夹filename_queue = tf.train.string_input_producer( tf.t...原创 2019-09-12 17:57:11 · 1102 阅读 · 0 评论 -
tensorflow学习笔记——高效读取数据的方法(TFRecord)
关于TensorFlow读取数据,官网给出了三种方法:供给数据(Feeding):在TensorFlow程序运行的每一步,让python代码来供给数据。 从文件读取数据:在TensorFlow图的起始,让一个输入管线从文件中读取数据。 预加载数据:在TensorFlow图中定义常量或变量来保存所有数据(仅适用于数据量比较小的情况)。 对于数据量较小而言,可能一般选择直接将数据加载进内存...原创 2019-09-12 18:59:55 · 1495 阅读 · 0 评论 -
一个关于tf.data的简介
原视频地址在这儿:https://www.youtube.com/watch?v=uIcqeP7MFH0视频中介绍了tf.data设计的一些原则和一些基本用法。设计的三个原则:1. 快速高效tf.data可以在每秒读取13000张图片,官网上有一页专门介绍输入数据pipeline的效率。输入输入的pipeline分为以下三步(ETL)分别是从数据源头处读取数据(Extract)...原创 2019-09-16 18:05:50 · 550 阅读 · 0 评论 -
深度学习shuffle——同时打乱两个数组,并保持一一对应关系不变
自己做数据处理,因为数据比较复杂的关系(我自己也不太熟练),不太方便借助框架封装好了的包在做到需要打乱数据这一步的时候,遇到了如何打乱数组,使得原始输入与label的对应关系仍然存在https://stackoverflow.com/questions/4601373/better-way-to-shuffle-two-numpy-arrays-in-unison以上是StackOve...原创 2019-09-16 18:21:17 · 2025 阅读 · 0 评论 -
tensorflow实现Alexnet resnetv1 mobilenetv1 mobilenetv2的分类训练
Alexnet、resenetv1、mobilenetv2网络实现,基本的架构(backbone)使用slim的实现,slim是tensorflow的一个库,这个库实现了一些经典的网络架构,如Alexnet,resnet,inception系列等等。在slim库中实现的Alexnet不同的是,没有使用LRN,并且把全连接层替换成卷积层。代码实现多GPU训练 读入数据采用多进程的方式 损...原创 2019-09-29 18:04:43 · 656 阅读 · 0 评论 -
Tensorflow保存和恢复模型
在tensorflow中保存和恢复模型主要通过tf.train.Saver(),具体如下:保存模型saver = tf.train.Saver()获得一个文件句柄,将训练中的某一个快照状态保存到文件中去 saver.save(sess, os.path.join(model_dir, ‘ckp-%05d’%(i+1))),将训练好的模型保存到文件中 参数1:sess,session会话,...原创 2019-05-09 18:02:07 · 301 阅读 · 0 评论 -
TensorFlow抽取cnn中某一层特征
深度学习具有强大的特征表达能力。有时候我们训练好分类模型,并不想用来进行分类,而是用来提取特征用于其他任务,比如相似图片计算。接下来讲下如何使用TensorFlow提取特征。1.必须在模型中命名好要提取的那一层,num_filters_total为提取特征维度,即特征个数,如下 net = _global_avg(net, pool_size=net.get_shape...原创 2019-07-19 18:43:27 · 3031 阅读 · 0 评论 -
安装和配置bazel
编译和移植tensorflow的C/C++源码时,用到bazel这一构建工具。本篇blog记录遇到的安装、配置问题。吐槽 构建工具,从make/ant/cmake/gradle一路用下来,各有优劣,只能说用的越熟练越容易上手 编译安装bazel时用到java。为啥不全用C++写? bazel命名是有补全的,但是ubuntu + zsh + oh-my-zsh + ap...原创 2019-07-23 19:07:18 · 2636 阅读 · 0 评论 -
conda安装制定版本Tensorflow或者Keras
一、设置国内源在更新包的时候,默认源速度较慢,可以使用国内源conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --set show_channel_urls yes二、安装指定版本的TensorFlow或者Keras1. 首先在...原创 2019-06-26 17:42:39 · 3359 阅读 · 0 评论 -
图像分类算法优化技巧:Bag of Tricks for Image Classification
论文:Bag of Tricks for Image Classification with Convolutional Neural Networks论文链接:https://arxiv.org/abs/1812.01187论文复现对很多人而言难度都比较大,因为常常涉及很多细节,部分细节对于模型效果影响很大,但是却很少有文章介绍这些细节,前段时间正好看到这篇文章,再加上之前就有关注Gluo...原创 2019-05-20 19:02:40 · 783 阅读 · 0 评论 -
神经网络CNN训练tricks
神经网络构建好,训练不出好的效果怎么办?明明说好的拟合任意函数(一般连续)(为什么?可以参考http://neuralnetworksanddeeplearning.com/),说好的足够多的数据(Occam's_razor),仔细设计的神经网络都可以得到比其他算法更好的准确率和泛化性呢(当然不是我说的),怎么感觉不出来呢?很直观,因为神经网络可以随意设计,先验假设较少,参数多,超参数...原创 2019-05-20 18:13:34 · 1160 阅读 · 0 评论 -
MobileNetV3论文讲解
在现代深度学习算法研究中,通用的骨干网+特定任务网络head成为一种标准的设计模式。比如VGG + 检测Head,或者inception + 分割Head。在移动端部署深度卷积网络,无论什么视觉任务,选择高精度的计算量少和参数少的骨干网是必经之路。这其中谷歌家去年发布的 MobileNetV2是首选。在MobileNetV2论文发布时隔一年4个月后,MobileNetV3 来了!论文名称《...原创 2019-05-20 16:58:07 · 8340 阅读 · 0 评论 -
tensorflow oom报错OOM的问题
OOM定义—out of memory,内存溢出,一个程序中,已经不需要使用某个对象,但是因为仍然有引用指向它垃圾回收器就无法回收它,当该对象占用的内存无法被回收时,就容易造成内存泄露。多个内存泄漏最终会导致内存溢出,即OOM。这个报错的原因有很多1、自身代码有问题,导致GPU内存不够用这个只能自查2、有未释放的GPU资源,导致GPU不够用;当然也有可能多人使用GPU,别人使用了。解...原创 2019-05-14 19:16:43 · 5740 阅读 · 0 评论 -
Tensorflow 运行时内存持续增长导致系统崩溃的问题
在用tensorflow实现一些模型的时候,有时候我们在运行程序的时候,会发现程序占用的内存在不断增长。最后内存溢出,程序被kill掉了。这个问题,其实有两个可能性。一个是比较常见,同时也是很难发现的。 tensorflow 训练部分代码几乎都采用循环,如果在循环中用到tf的op操作,就会导致节点越来越多,图的大小也不停的增大,故而内存会持续增长。这个问题的解决,需要我们知道tensorfl...原创 2019-05-14 18:37:24 · 3813 阅读 · 0 评论 -
tensorflow实现将ckpt转pb文件
本博客实现将自己训练保存的ckpt模型转换为pb文件,该方法适用于任何ckpt模型,当然你需要确定ckpt模型输入/输出的节点名称。目录tensorflow实现将ckpt转pb文件一、CKPT 转换成 PB格式二、 pb模型预测三、源码下载和资料推荐1、训练方法2、本博客Github地址3、将模型移植Android的方法 使用 ...原创 2019-05-09 19:07:49 · 1033 阅读 · 0 评论 -
Tensorflow中BN层的使用
使用tf.layers.batch_normalization()需要三步:在卷积层将激活函数设置为None。使用batch_normalization。使用激活函数激活。需要特别注意的是:在训练时,需要将第二个参数training = True。在测试时,将training = False。同时,在降低loss时候时候:update_ops = tf.get_collectio...原创 2019-05-09 15:20:37 · 8350 阅读 · 5 评论 -
为什么局部下降最快的方向就是梯度的负方向
▌什么是梯度?对于梯度下降算法(Gradient Descent Algorithm),我们都已经很熟悉了。无论是在线性回归(Linear Regression)、逻辑回归(Logistic Regression)还是神经网络(Neural Network)等等,都会用到梯度下降算法。我们先来看一...原创 2019-05-09 14:45:12 · 755 阅读 · 0 评论 -
TensorFlow中batch norm原理,使用事项与踩坑
一、机器学习领域有个重要假设:独立同分布independent and identically distributed (i.i.d.)在概率统计理论中,指随机过程中,任何时刻的取值都为随机变量,如果这些随机变量服从同一分布,并且互相独立,那么这些随机变量是独立同分布。如果随机变量X1和X2独立,是指X1的取值不影响X2的取值,X2的取值也不影响X1的取值且随机变量X1和X2服从同一分布,这意...原创 2019-05-08 16:56:57 · 7117 阅读 · 0 评论 -
TensorFlow-slim之CNN实现手写数字识别
TensorFlow四种写法之一:Slim代码如下:#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2018/8/23 19:40# @Author : Seven# @Site : # @File : CNN-slim.py# @Software: PyCharm# 0.导入环境from ...原创 2019-04-23 11:52:47 · 295 阅读 · 0 评论