深度学习
文章平均质量分 86
LiangJun.py
一不小心学了数据挖掘
展开
-
few-shot-vid2vid训练自己的数据以及flownet2_pytorch工程编译
最近想使用few-shot-vid2vid训练人体姿态动作迁移模型,看了一堆博客和官方文档没搞懂训练数据格式是怎样的。后来下载官方提供的测试数据准备先跑通工程,运行工程时又出现各种错误,现将一些错误和解决办法进行整理记录。 1、安装所需的第三方包 官方要求的工程环境:Linux or macOS Python 3 NVIDIA GPU + CUDA cuDNN PyTorch 1.2 我的工程环境:cuda 10.1pytorch 1.5.1pyth...原创 2021-05-12 11:26:03 · 1194 阅读 · 3 评论 -
Tensorflow 解决恢复ckpt后BN权重参数未成功加载的问题
在上一篇文章中,将两个ckpt加载后进行拼接合并,但固化后进行推理时发现结果不对,于是将合并后的模型和之前的模型权重参数进行比对发现合并后的模型中BN参数存在部分值未加载(moving_mean和moving_variance权重参数未加载至模型)如下图:最后找到问题原因是由于指定op加载ckpt的时候,BN层的两个参数未指定为trainable_variables,因而在未获取到BN中的moving_mean和moving_variance参数,修改前获取op的代码如下图:解决上述问题只需原创 2020-10-15 09:56:37 · 468 阅读 · 0 评论 -
Tensorflow 多个ckpt模型合并并固化成pb模型
前面尝试使用了pb模型进行合并,现加载两个ckpt模型后将两个ckpt模型拼接合并成一个模型共用一个输入(该两个ckpt模型输入相同),最后将合并后的ckpt固化成pb模型。import osimport timeimport cv2import numpy as npimport tensorflow as tffrom tensorflow.python.tools import freeze_graphimport model_1 import model_2IMAGE_S原创 2020-10-14 12:09:55 · 1041 阅读 · 6 评论 -
Tensorflow 合并多个pb模型并共用一个输入的方法
存在两个pb模型的输入相同,现想把两个pb模型合并成一个模型并共用一个输入节点,借鉴合并多个tensorflow模型的办法代码如下:import tensorflow as tffrom tensorflow.python.framework.graph_util import convert_variables_to_constantsIMAGE_SIZE = 48 #假设模型输入是48x48origin_model = "1.pb" #第一个模型new_model = "2.pb原创 2020-10-14 10:03:36 · 835 阅读 · 0 评论 -
TensorFlow 微调指定的op层
利用TensorFlow进行模型finetune时,想训练指定的op,则需要根据指定的op名进行提取,然后将其配置至tf.train.AdamOptimizer函数中的var_list参数。 部分代码如下:def _get_variables_to_train(trainable_scopes = None): """Returns a list of variables to train. Returns: A list of variables to train...原创 2020-06-12 14:12:41 · 361 阅读 · 0 评论 -
TensorFlow 提取指定名的op函数
部分代码:def _get_variables_to_train(trainable_scopes = None): """Returns a list of variables to train. Returns: A list of variables to train by the optimizer. """ if trainable_scopes is None: return tf.trainable_variables() else: sco原创 2020-06-05 20:37:53 · 510 阅读 · 0 评论 -
keras实现人脸关键点检测
原文:https://www.bbsmax.com/A/MAzAjNORJ9/数据集:https://pan.baidu.com/s/1cnAxJJmN9nQUVYj8w0WocA第一步:准备好需要的库tensorflow 1.4.0 h5py 2.7.0 hdf5 1.8.15.1 Keras 2.0.8 opencv-python 3.3.0 numpy...转载 2020-02-28 14:28:49 · 728 阅读 · 2 评论 -
将Tensorflow目标检测object_detect API源码中的ssd_mobilenet_v1主结构修改为shufflenetv2
为将模型部署移动端,往往采用轻量级的网络结构,如Mobilenet和shufflenet。最近看到网上一些资料shufflenetv2在ImageNet上有着不错的表现,并且计算量相较于其他轻量级网络结构大幅度减少。之前做目标检测时,通常使用ssd_mobilenet_v1,于是在想将ssd_mobilenet_v1主结构替换为shufflenetv2,是否能在准确性和推理速率上都...原创 2020-02-19 19:14:11 · 1125 阅读 · 3 评论 -
TensorFlow object_detect API之MobileNet-SSD 模型训练配置文件参数解析
原文地址:https://www.leviatan.cn/?p=251文件名:ssd_mobilenet_v1_pets.config路径:/path/to/models/research/object_detection/models 下载地址:Github - TensorFlow Modelsmodel { ssd { // 类别数,不包括 backgr...转载 2020-02-17 17:17:37 · 1180 阅读 · 1 评论 -
使用uwsgi结合Flask多进程调用TensorFlow模型推理时服务卡住
使用Flask对TensorFlow训练后的模型进行服务器部署时,想使用uwsgi设置多进程的方式解决发布服务以解决高并发。服务写好后使用uwsgi进行多进程发布后发现运行sess.run调用模型推理时服务会卡住无法运行,查看后台uwsgi进程后会发现仅剩一个uwsgi服务,其他的uwsgi进程已经僵死。一开始纠结可能是tf的问题,尝试了很多方法将模型调用通过类创建后还是不能解决...原创 2019-11-12 16:48:16 · 3182 阅读 · 1 评论 -
Tensorflow pb模型多次加载推理的方法
使用TensorFlow进行模型训练后,若需要对同一个pb模型多个对象调用推理时,此时可以通过创建类的方式将加载模型的步骤置于类中的初始化便能够通过创建多个类的对象进行pb模型的加载以及推理。实际代码如下:import tensorflow as tfimport numpy as npimport cv2from PIL import Imagefrom tens...原创 2019-11-12 16:14:30 · 3493 阅读 · 1 评论 -
BN的理解(二)
神经网络各个操作层的顺序:1、sigmoid,tanh函数:conv -> bn -> sigmoid -> pooling2、RELU激活函数:conv -> bn ->relu -> pooling 一般情况下,先激活函数,后pooling。但对于RELU激活函数,二者交换位置无区别。 论文原文里面是“weights ...转载 2019-10-22 15:38:07 · 508 阅读 · 0 评论 -
BN的理解(一)
0、问题 机器学习领域有个很重要的假设:IID独立同分布假设,就是假设训练数据和测试数据是满足相同分布的,这是通过训练数据获得的模型能够在测试集获得好的效果的一个基本保障。那BatchNorm的作用是什么呢?BatchNorm就是在深度神经网络训练过程中使得每一层神经网络的输入保持相同分布的。 思考一个问题:为什么传统的神经网络在训练开始之前,要对输入的数据做Normalization...转载 2019-10-22 15:33:59 · 2437 阅读 · 0 评论