
tensorflow/keras一些用法
文章平均质量分 76
tensorflow/keras函数的用法
颐水风华
框架:tensorflow pytorch tensorrt cuda cublas opnecv。
语言:c、c++ python。
展开
-
tensorflow对应torch的函数
1 ------------ nn------------import tensorflow as tfimport torch.nn.functional as Ftf.nn.Conv2dF.conv2d这两个大哥是等价的原创 2021-02-24 09:25:56 · 3015 阅读 · 3 评论 -
AttributeError: module ‘tensorflow‘ has no attribute ‘compat‘ when importing tensorflow
**AttributeError: module ‘tensorflow’ has no attribute ‘compat’ when importing tensorflow**出现这个问题原因是你装过了两个大版本的tf。比如说1.x跨越到2.x,或者1.11跨越到1.14以上。出现报错原因是tf的辅助包出问题了。比如tensorflow-estimator或者tensorflow-datasets,或者hub之类的。把他卸了,重新执行下pip install tensorflow==1.15.原创 2020-12-19 14:03:17 · 440 阅读 · 1 评论 -
tensorflow+keras混搭
import tensorflow.keras as kimport tensorflow as tfimport numpy as npx = np.ones([8,224,224,3]).astype(np.float)data = tf.placeholder(tf.float32,[None,224,224,3])net = k.layers.Conv2D(64,[3,3])(data)y_ = tf.layers.batch_normalization(net, name='qsd'.原创 2020-10-30 18:42:13 · 961 阅读 · 0 评论 -
tensorflow 实现全局平均池化
有两种方法一方法,这里用的tf.nn。可以用tf.layers代替。 p05 = tf.nn.avg_pool2d(conv10,ksize=[1,conv10.get_shape().as_list()[1],conv10.get_shape().as_list()[1],1],strides=[1,1,1,1],padding=VALID',name='GAP')二方法 p05 = tf.reduce_mean(conv10, [1, 2], keep_dims=True, name原创 2020-09-18 22:50:29 · 4661 阅读 · 2 评论 -
tfs配置环境
tfs有两种方法布置,一个是通过docker,一个bazel。我用的是docker。比较老的博文说的是把bazel布置在docker中,或者布置ubuntu中。我这里说的是win下布置。docker布置1.去官网注册,然后下载。然后一直下一步就行。点开settings,修改配置源,如下图。{ "registry-mirrors": [ "https://alzgoonw.mirror.aliyuncs.com" ]}输入下面代码验证docker run h.原创 2020-07-03 12:53:12 · 602 阅读 · 0 评论 -
tensorflow-serving布置facenet心得
这个的东西困扰我很久,终于弄成了。不知道我做的是不是太繁琐,如果有人做的更简单,希望指出,谢谢。docker中,做了两个容器,一个放的mtcnn,一个放的facent。他们并不是多模型布置的。mtcnn其中包括:pnet,rnet和onet,这三个是多模型布置。客户端通过调用mtcnn,得到返回值,然后传给facenet。这里有个问题。numpy数组的事,需要转换。不能直接穿numpy的数组给tf-serving。报错一般有两个方面原因,路径错误或者就是传入的值类型不对。还有就是一个问题,绑原创 2020-07-02 10:07:08 · 378 阅读 · 3 评论 -
把slim代码改成layers和layers的层定义
把slim代码改成layers代码,为什么不改成keras代码?因为需要该很多东西,工作量比layers的方法大。layers的低层实现是keras。快速修改的方法。首先,找到模型的入口,我的如下图。然后,顺着再找出所有的with slim.arg_scope([slim.batch_norm], **batch_norm_params): with slim.arg_scope([slim.conv2d], weights_regularizer=regularizer):.原创 2020-06-21 08:40:00 · 462 阅读 · 0 评论 -
tensorflow量化称pb文件后,win系统运行报错问题
tensorflow 1.14.0 把vgg模型量化成int8后,在win系统跑,报错如下Evaluating......Traceback (most recent call last): File "C:\Users\user\AppData\Roaming\Python\Python36\site-packages\tensorflow_core\python\client\session.py", line 1365, in _do_call return fn(*args)..原创 2020-06-09 12:35:07 · 547 阅读 · 0 评论 -
关于tensorflow模型保存几种格式
ckpt常规模型,模型结构,数据,运算图分开保存。常用在训练阶段使用。h5keras前端保存的模型格式,有两种,纯数据和数据+网络结构,可以被tf调用。可以用软件查看内部。pb用于lite端/server端,包括结构+数据,不可以修改内部,也就是为什么叫做凝固图了。pbtxtpb的扩展格式,可以被修改内容,用记事本就可以修改。tflite一种实验的数据格式,可以用轻量级的`tflite_runtime`包来调用,方便用于服务器部署。作为学习 比较推荐h5,部署推.原创 2020-05-18 13:38:00 · 1884 阅读 · 0 评论 -
keras的plot_model错误三连以及torch配置
keras画网络图原创 2020-04-01 16:36:58 · 597 阅读 · 0 评论 -
keras 自定义:激活函数,层,损失函数,正则化器,初始化器,学习率
自定义激活函数import osfrom keras import backend as Kfrom keras.layers import Activation,Conv2Dfrom keras.utils.generic_utils import get_custom_objectsos.environ["TF_CPP_MIN_LOG_LEVEL"] = "3"def ...原创 2020-03-05 17:15:11 · 6793 阅读 · 13 评论 -
mxnet数据集与tfrecord数据集互转
mxnet数据集和tfrecord数据集互转,都能看懂吧。import mxnet as mximport argparseimport PIL.Imageimport ioimport numpy as npimport cv2import tensorflow as tfimport osdef parse_args(): parser = argparse....原创 2020-01-15 21:16:38 · 576 阅读 · 0 评论 -
图像算法基础
cpp真难,卧槽。还有没找到一本好的gpu for cpp的书。最后决定用tensorflow来实现算法吧,下面是一些基础的,给出了有加速和无加速两个版本。以后都用有加速的,算法opencv中慢慢实现,会更新到我的github上。import tensorflow as tffrom matplotlib import pyplot as plt# 第一个版本 有加速版lena =...原创 2019-08-26 09:46:23 · 410 阅读 · 0 评论 -
slim.arg_scope的嵌套
在看slim代码中看待这样的结构with slim.arg_scope([slim.conv2d, slim.fully_connected], activation_fn=tf.nn.relu, biases_initializer=tf.constant_initializer(0.1), ...原创 2019-08-20 17:18:39 · 491 阅读 · 0 评论 -
增维与降维
tf.expand_dims 与tf.squeeze 真是冤家。import numpy as nptf.enable_eager_execution()a = np.random.rand(100)b = a.shapeprint(b)c=tf.expand_dims(a,1)print(c.shape)d=tf.expand_dims(c,0)print(d.sha...原创 2019-08-20 14:11:51 · 996 阅读 · 0 评论 -
utils.convert_collection_to_dic
不知道未来slim会不会被遗弃。既然解释不清,slim.utils.convert_collection_to_dic把with作用域下面的计算结果,都汇总到一个list中,每个成员是一个tuple,包括 每层网络的名字,每一层的输出结果,形状,数据类型import tensorflow as tfscope='alexnet_v2'inputs = tf.ones([1,500,...原创 2019-08-19 17:22:35 · 705 阅读 · 3 评论 -
tensorflow学习路线
基础基础变量与运算(四则,逻辑,关系) 变量的作用域与引用 高级运算操作 vgg16网络的搭建 cnn pool fc 激活函数 loss 学习 制作数据文件tfrecord 模型的保存,重载 模型的获取变量名,重训练 数据可视化tensorbroad 处理图像的类 处理文件/目录的类晋级kears包的使用 slim包的使用 基础网络的研究 inceptio...原创 2019-07-31 11:22:39 · 203 阅读 · 0 评论 -
tensorflow -- tf.image
tf.image这个设计是个反人类的模块,很多东西绕口。在喂入模型图像数据时候,tensorflow用的是[None,w,h,c],而模型别的框架,可能是[w,h,c,None],或者是一个长度为5的形状。其中说下kears被整合到了tensorflow,而kears的格式就是和tensorflwo相反的。下面是他的操作图像的函数。adjust_brightness(...): 调整RGB...原创 2019-06-17 18:21:10 · 922 阅读 · 0 评论 -
tensorflow -- tf.gfile
tf.gfile他是一个操作文件的模块,他吧os、glob、shutil 这几个对文件操作的功能整合到了一起去。Copy(...): 从一个目录的文件拷贝到了另一个目录,同shutil.copy.DeleteRecursively(...): 以递归方式删除dirname下的所有内容.Exists(...): 确定路径是否存在.Glob(...): 返回与给定模式匹配的文件列表,...原创 2019-06-17 16:05:49 · 303 阅读 · 0 评论 -
tensorflow tf.Variable()和tf.get_variable()详解
抄的~~~~tf.Variable是一个Variable类通过变量维持图graph的状态,以便在sess.run()中执行;可以用Variable类创建一个实例在图中增加变量;Args:initial_value:Tensor或可转换为Tensor的Python对象,它是Variable的初始值。除非validate_shape设置为False,否则初始值必须具有指定的形状。...转载 2019-03-10 23:51:41 · 1530 阅读 · 0 评论 -
tf.layer.conv1d、conv2d、conv3d
下面我都是抄的,如果说是正确,那么conv3d就是2d+时间域的吧?网上搜的一篇资料,还没看:tensorflow中一维卷积conv1d处理语言序列的一点记录tensorflow中的conv1d和conv2d的区别:conv1d是单通道的,conv2d是多通道,所以conv1d适合处理文本序列,conv2d适合处理图像。conv1dimport tensorflow as tfinpu...原创 2019-03-11 00:00:27 · 7522 阅读 · 9 评论 -
tensorflow 图像处理函数
adjust_brightness(...):调整RGB或灰度图像的亮度.adjust_contrast(...):调整RGB或灰度图像的对比度.adjust_gamma(...):对输入图像执行Gamma校正.adjust_hue(...):调整RGB图像的色调.adjust_saturation(...):调整RGB图像的饱和度.central_crop(...):裁剪图像...转载 2019-04-25 20:26:47 · 708 阅读 · 0 评论 -
Tensorflow:GPU相关设置问题
目录1.在运行之前先查看GPU的使用情况:2.指定GPU训练:方法一、在python程序中设置:方法二、在执行python程序时候:方法三、推荐3.两种限定GPU占用量的方法:方法一、设置定量的GPU显存使用量:方法二、设置最小的GPU显存使用量,动态申请显存:(建议)方法三,1和2兼顾4.将数据的处理使用多线程的queue在CPU上进行,使得GPU随时都有...原创 2019-05-08 22:46:30 · 3918 阅读 · 0 评论 -
tensorflow中使用tf.ConfigProto()使用方法
tf.ConfigProto()函数用在创建session的时候,用来对session进行参数配置:config = tf.ConfigProto(allow_soft_placement=True, allow_soft_placement=True)config.gpu_options.per_process_gpu_memory_fraction = 0.4 #占用40%显存se...转载 2019-05-14 20:54:54 · 7749 阅读 · 3 评论 -
tf.app
tf.app这个模块有点像argparse包,都是引入外部参数,进行运算tf.app.flags.DEFINE_string( 'master', '', 'The address of the TensorFlow master to use.')tf.app.flags.DEFINE_string( 'train_dir', '/tmp/tfmodel/', ...原创 2019-05-11 00:49:42 · 1452 阅读 · 0 评论 -
slim微调练习
代码地址https://github.com/tensorflow/models/tree/master/research/slim怎么训练我就不说了,网上很多资源。微调的方法在scripts文件夹下。下面是一个flowers的微调参数,v3模型#!/bin/bashPRETRAINED_CHECKPOINT_DIR=/home/Documents/model/inception...原创 2019-05-11 23:38:26 · 370 阅读 · 2 评论 -
tensorflow的pd文件
抄的TensorFlow模型保存函数save = tf.train.Saver()......saver.save(sess,"checkpoint/model.ckpt",global_step=step)运行后保存模型,会得到三个文件,例如:model.ckpt-129220.data-00000-of-00001#保存了模型的所有变量的值。model.ckpt-1...转载 2019-05-12 11:22:53 · 2801 阅读 · 0 评论 -
tensorflow保存模型
又是抄的保存模型将训练好的模型参数保存起来,以便以后进行验证或测试,这是我们经常要做的事情。tf里面提供模型保存的是tf.train.Saver()模块。模型保存,先要创建一个Saver对象:如saver=tf.train.Saver()在创建这个Saver对象的时候,有一个参数我们经常会用到,就是max_to_keep 参数,这个是用来设置保存模型的个数,默认为5,...转载 2019-05-12 13:58:29 · 260 阅读 · 0 评论 -
TensorRT使用文档--Overview
转载于https://www.youkuaiyun.com/article/a/2018-05-07/15947787摘要:NVIDIA TensorRT™是一个C ++库,可以帮助NVIDIA图形处理器(GPU)进行高性能推理。 TensorRT通过合并张量和图层,转换权重,选择高效的中间数据格式,并根据图层参数和测量的性能从大型内核目录中进行选择,从而对网络进行定义并对其进行优化。TensorRT...原创 2019-05-21 19:55:56 · 2413 阅读 · 0 评论 -
tf.logging.set_verbosity ()
tf.logging.set_verbosity (tf.logging.INFO)作用:将 TensorFlow 日志信息输出到屏幕TensorFlow有五个不同级别的日志信息。其严重性为 调试tf.logging.DEBUG < 信息tf.logging.INFO < 警告tf.logging.WARN < 错误tf.logging.ERROR < 致命tf...转载 2019-05-22 12:13:45 · 3509 阅读 · 2 评论 -
TensorFlow 模型文件
转载:https://www.cnblogs.com/qwangxiao/p/9036493.html在这篇 TensorFlow 教程中,我们将学习如下内容:TensorFlow 模型文件是怎么样的? 如何保存一个 TensorFlow 模型? 如何恢复一个 TensorFlow 模型? 如何使用一个训练好的模型进行修改和微调?1. TensorFlow 模型文件在你训练...转载 2019-05-28 18:14:32 · 296 阅读 · 0 评论 -
slim一些事
slim.utils.convert_collection_to_dict1.nets/vgg.py中的vgg_16时,出现了一个slim.utils.convert_collection_to_dict(end_points_collection),但实际上slim里没有utils这个模块,估计是由于版本更新了(我的版本是tf1.8),后来在这个项目的其它文件中看到utils是这样导入的:...转载 2019-06-16 14:37:55 · 1153 阅读 · 0 评论 -
tf.squeeze
squeeze( input, axis=None, name=None, squeeze_dims=None)该函数返回一个张量,这个张量是将原始input中所有维度为1的那些维都删掉的结果axis可以用来指定要删掉的为1的维度,此处要注意指定的维度必须确保其是1,否则会报错>>>y = tf.squeeze(inputs, [0...原创 2019-06-16 15:38:35 · 661 阅读 · 0 评论 -
详解tf.variable_scope函数
原创 https://blog.youkuaiyun.com/qq_41058594/article/details/85165025在学习Tensorflow进阶实例这本书时候出现了tf.variable_scope,当时很蒙圈,现在就来总结一下:tf.variable_scope函数variable_scope类用于定义创建变量(层)的操作的上下文管理器。此上下文管理器验证(可选)val...转载 2019-06-16 22:25:16 · 36876 阅读 · 3 评论 -
tf.name_scope() 和 tf.variable_scope() 的用法
2018.01.25 11:52 14884浏览摘要: tf.name_scope()和tf.variable_scope()是两个作用域,一般与两个创建/调用变量的函数tf.variable() 和tf.get_variable()搭配使用。它们搭配在一起的两个常见用途:1)变量共享,2)tensorboard画流程图时为了可视化封装变量,这两种用途有特定的搭配方式,掌握好就可以用了。...转载 2019-06-16 22:44:57 · 487 阅读 · 0 评论 -
TensorFlow-Slim基础使用
TensorFlow-Slim使用方法说明翻译自:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/slimTensorFlow-SlimTF-Slim是Tensorflow中一个轻量级的库,用于定义、训练和评估复杂的模型。TF-Slim中的组件可以与Tensorflow中原生的函数...翻译 2019-02-17 13:00:08 · 1477 阅读 · 0 评论