tensorflow模型操作常用函数总结:(一)

(一)、文件保存:

1.创建存储器:

tf.train.Saver(var_list=None,reshape=False,sharded=False,max_to_keep=5,keep_checkpoint_every_n_hours=10000.0,name=None,restore_sequentially=False,saver_def=None,builder=None)

2.保存:

tf.train.Saver.save(sess,save_path,global_step=None,latest_filename=None,meta_graph_suffix='meta',write_meta_graph=True)

3.恢复:

tf.train.Saver.restore(sess,save_path)

4.列出最近未删除的checkpoint文件名:

tf.train.Saver.last_checkpoints

5.设置checkpoint文件名列表:

tf.train.Saver.set_last_checkpoints(last_checkpoints)

6.设置checkpoint文件名列表和时间戳(chuō):

tf.train.Saver.set_lat_checkpoints_with_time(last_checkpoints_with_time)

(二)、Tensorboard可视化:

1.标量数据汇总,输入protobuf:

tf.summary.scalar(tags,values,collections=None,name=None)

2.记录变量var的直方图,输出带直方图的汇总的protobuf:

tf.summary.histogram(tag,values,collections=None,name=None)

3.图像数据汇总,输出protobuf:

tf.summary.image(tag,tensor,max_images=3,collection=None,name=None)

4.合并所有的汇总日志:

tf.summary.merge(inputs,collections=None,name=None)

5.创建一个SummaryWriter:

tf.summary.FileWriter

5.将protobuf写入文件的类:

class SummaryWriter:

add_summary(),add sessionlog(),add_event(),or add_graph()

(三)、张量类型

tensor类型                   python类型                       描述

DT_FLOAT                  tf.float32                           32位浮点数

DT_DOUBLE               tf.float64                           64位浮点数

DT_INT64                    tf.int64                              64位有符号整型

DT_INT32                    tf.int32                              32位有符号整型

DT_INT16                    tf.int16                              16位有符号整型

DT_INT8                      tf.int8                                  8位有符号整型

DT_UINT8                   tf.uint8                                8位无符号整型

DT_STRING                tf.string                              可变长度的字节数组。每一个张量元素都是一个字节数组

DT_BOOL                    tf.bool                                布尔型

DT_COMPLEX64        tf.complex64                      由两个32位浮点数组成的复数:实数和虚数

(四)、标量向量和矩阵的阶数:

rank                             实例                                    例子

0                            标量(只有大小)                     a=1

1                            向量(大小和方向)                  b=[1,1,1,1]

2                            矩阵(数据表)                         c=[[1,1,],[1,1]]

3                            3阶张量(数据立体)                d=[[[1],[1]],[[1],[1]]]

n                            n阶                                             e=[[[[[[...[[1],[1],]]]...]]]]] (n层中括号)

(五)、类型变换相关函数:

函数                                                                                                             描述

tf.string_to_number(string_tensor,out_type=None,name=None)        字符串转为数字

tf.to_double(x,name='ToDouble')                                                         转为64位浮点类型

tf.to_float(x,name='ToFloat')                                                                 转为32位浮点类型

tf.to_int32(x,name='ToInt32')                                                                转为32位整型

tf.to_int64(x,name='ToInt64')                                                                转为64位整型

tf.cast(x,dtype,name=None)                  将x或者x.values转换为dtype所指定的类型。例如:W=tf.Variable(1.0)                                                                                             tf.cast(W,tf.int32)==>W=1 #dtype=tf.int32

(六)、类型变换相关函数:

           函数                                                                                                            描述

tf.ones(shape,dtype)                                     按指定类型与形状生成值为1的张量。例如:tf.ones([2,3],tf.int32)==>[[1 1 1] [1 1 1]]

tf.zeros(shape,dtype)                                    按指定类型与形状生成值为0的张量。例如:tf.zeros([2,3],tf.int32)==>[[0 0 0] [0 0 0]]

tf.ones_like(input)                                         生成和输入张量一样形状和类型的1。例如:tensor=[[1,2,3],[4,5,6]]                                                                                                  tf.ones_like(tensor) ==>[[1 1 1] [1 1 1]]

tf.zeros_like(input)                                        生成和输入张量一样形状和类型的0。例如:tensor=[[1,2,3],[4,5,6]]                                                                                                  tf.zeros_like(tensor) ==>[[0 0 0] [0 0 0]]

tf.fill(shape,value)                                         为指定形状填值。例如:tf.fill([2,3],1) ==>[[1 1 1] [1 1 1]]

tf.constant(value,shape)                               生成常量。例如:tf.constant(1,[2,3]) ==>[[1 1 1] [1 1 1]]

tf.random_normal(shape,mean=0.0,stddev=1.0) 正态分布随机数,均值mean,标准差 stddev                                                          ,dtype=tf.float32,seed=None,name=None)          

tf.truncated_normal(shape,mean=0.0,stddev=1.0 截断正态分布随机数,均值mean,标准差stddev,                                         ,dtype=tf.float32,seed=None,name=None)           只保留[mean-2*stddev,mean+2*stddev]范围内的随机数。     

tf.random_uniform(shape,minval=0,maxval=None 均匀分布随机数,范围为[minval,maxval]                                                       ,dtype=tf.float32,seed=None,name=None)           

tf.random_crop(value,size,seed=None,name=None) 将输入值value按照size尺寸随机剪辑

tf.set_random_seed(seed)                                     设置随机种子

tf.linspace(start,stop,num,name=None)                 在[start,stop]范围内产生num个数的等差数列。注意,start和stop要用浮点数                                                                                   表示,否则会报错。例如:                                                                                                                                                               tf.linspace(start=1.0,stop=5.0,num=5,name=None) ==> [1. 2. 3. 4. 5.]

tf.range(start,limit=None,delta=1,name='range')    在[start,limit)范围内以步进值delta产生等差数列。注意:                                                                                                                  tf.range(start=1,limit=5,delta=1) ==> [1 2 3 4]

已标记关键词 清除标记
【为什么还需要学习C++?】 你是否接触很多语言,但从来没有了解过编程语言的本质? 你是否想成为一名资深开发人员,想开发别人做不了的高性能程序? 你是否经常想要窥探大型企业级开发工程的思路,但苦于没有基础只能望洋兴叹?   那么C++就是你个人能力提升,职业之路进阶的不二之选。 【课程特色】 1.课程共19大章节,239课时内容,涵盖数据结构、函数、类、指针、标准库全部知识体系。 2.带你从知识与思想的层面从0构建C++知识框架,分析大型项目实践思路,为你打下坚实的基础。 3.李宁老师结合4大国外顶级C++著作的精华为大家推出的《征服C++11》课程。 【学完后我将达到什么水平?】 1.对C++的各个知识能够熟练配置、开发、部署; 2.吊打一切关于C++的笔试面试题; 3.面向物联网的“嵌入式”和面向大型化的“分布式”开发,掌握职业钥匙,把握行业先机。 【面向人群】 1.希望一站式快速入门的C++初学者; 2.希望快速学习 C++、掌握编程要义、修炼内功的开发者; 3.有志于挑战更高级的开发项目,成为资深开发的工程师。 【课程设计】 本课程包含3大模块 基础篇 本篇主要讲解c++的基础概念,包含数据类型、运算符等基本语法,数组、指针、字符串等基本词法,循环、函数、类等基本句法等。 进阶篇 本篇主要讲解编程中常用的一些技能,包含类的高级技术、类的继承、编译链接和命名空间等。 提升篇: 本篇可以帮助学员更加高效的进行c++开发,其中包含类型转换、文件操作、异常处理、代码重用等内容。
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页