Tensorflow细节-P312-PROJECTOR】的更多相关文章

首先进行数据预处理,需要生成.tsv..jpg文件 import matplotlib.pyplot as plt import numpy as np import os from tensorflow.examples.tutorials.mnist import input_data LOG_DIR = 'log' SPRITE_FILE = 'mnist_sprite.jpg' META_FIEL = "mnist_meta.tsv" # 存储索引和标签 def create_…
如果什么都不加,直接运行装了GPU的Tensorflow,结果是这样子的 import tensorflow as tf a = tf.constant([1.0, 2.0, 3.0], shape=[3], name='a') b = tf.constant([1.0, 2.0, 3.0], shape=[3], name='b') c = a + b sess = tf.Session(config=tf.ConfigProto(log_device_placement=True)) # 通…
import matplotlib.pyplot as plt import tensorflow as tf import numpy as np import os from tensorflow.examples.tutorials.mnist import input_data LOG_DIR = 'log' SPRITE_FILE = 'mnist_sprite.jpg' META_FIEL = "mnist_meta.tsv" def create_sprite_image…
注意下面一个点就ok了 with tf.name_scope('input_reshape'): # 注意看这里,图片的生成 image_shaped_input = tf.reshape(x, [-1, 28, 28, 1]) tf.summary.image('input', image_shaped_input, 10) import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data SU…
讲解几个重点知识 1.对于tf.get_variable()中的reuse,意思是,如果有名字一模一样的变量,则对这个变量继续使用,如果没有名字一模一样的变量,则创建这个变量 2.options=run_options, run_metadata=run_metadata这玩意不好使 3.记住accuracy的argmax() 4.求accuracy三步:(1)argmax() (2)cast() (3)reduce_mean() 以下是mnist_inference的内容 import ten…
先搞点基础的 注意注意注意,这里虽然很基础,但是代码应注意: 1.从writer开始后边就错开了 2.writer后可以直接接writer.close,也就是说可以: writer = tf.summary.FileWriter("./log", graph=g) writer.close() import tensorflow as tf g = tf.Graph() with g.as_default(): input1 = tf.get_variable("input1…
本节是对上节的补充 import tempfile import tensorflow as tf # 输入数据使用本章第一节(1. TFRecord样例程序.ipynb)生成的训练和测试数据. train_files = tf.train.match_filenames_once("output.tfrecords") test_files = tf.train.match_filenames_once("output_test.tfrecords") def p…
数据集的基本使用方法 import tempfile import tensorflow as tf input_data = [1, 2, 3, 5, 8] # 这不是列表吗,为什么书里叫数组 dataset = tf.data.Dataset.from_tensor_slices(input_data) # 这是构建Dataset内存中的数据 # 定义迭代器. iterator = dataset.make_one_shot_iterator() # get_next() 返回代表一个输入数…
要点 1.filename_queue = tf.train.string_input_producer(files, shuffle=False)表示创建一个队列来维护列表 2.min_after_dequeue = 10000queue runner线程要保证队列中至少剩下min_after_dequeue个数据. 如果min_after_dequeue设置的过少,则即使shuffle为true,也达不到好的混合效果. 3.·sess.run((tf.global_variables_ini…
import tensorflow as tf files = tf.train.match_filenames_once("data.tfrecords-*") filename = tf.train.string_input_producer(files, shuffle=False, num_epochs=3) # 创建输入队列 reader = tf.TFRecordReader() _, serialized_example = reader.read(filename) f…
以下代码要学会几个地方 1.filename = ('data.tfrecords-%.5d-of-%.5d' % (i, num_shards)) 这个东西就是要会data.tfrecords-%.5d-of-%.5d两个.5d, 2.记住这两个操作writer = tf.python_io.TFRecordWriter(filename)与writer = tf.python_io.TFRecordWriter(filename) 3.得到的是以下TFrecoard两个文件 import t…
先感受一下队列之美 import tensorflow as tf q = tf.FIFOQueue(2, "int32") # 创建一个先进先出队列 # 队列中最多可以保存两个元素,并指定类型为整数 init = q.enqueue_many(([0, 10],)) x = q.dequeue() y = x + 1 q_inc = q.enqueue([y]) with tf.Session() as sess: init.run() for _ in range(5): v, _…
注意这里的读取image_raw_data = tf.gfile.FastGFile("./datasets/cat.jpg", "rb").read(),写入f = tf.gfile.GFile("output.png", "wb")所用的函数,注意这里及以下都是调用的tf.image. import matplotlib.pyplot as plt import tensorflow as tf image_raw_dat…
由于6.5中提出的TFRecord非常复杂,可扩展性差,所以本节换一种方式 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data import numpy as np # 定义函数转化变量类型. def _int64_feature(value): return tf.train.Feature(int64_list=tf.train.Int64List(value=[value]))…
这是一个完整的程序,值得保存 1.对图片进行预处理并保存 import glob import os.path import numpy as np import tensorflow as tf from tensorflow.python.platform import gfile # 原始输入数据的目录,这个目录下有5个子目录,每个子目录底下保存这属于该 # 类别的所有图片. INPUT_DATA = './dataset/flower_photos' # 输出文件地址.我们将整理后的图片…
第一个代码 import tensorflow as tf v1 = tf.Variable(tf.random_normal([1], stddev=1, seed=1)) v2 = tf.Variable(tf.random_normal([1], stddev=1, seed=1)) result = v1 + v2 init_op = tf.global_variables_initializer() saver = tf.train.Saver() with tf.Session()…
知识总结 (1)再次注意summary的使用 (2)x = rdm.rand(dataset_size, 2) y_ = [[x1**2 + x2**2] for (x1, x2) in x]这里的问题要注意 (3)注意batch时,全部先按照一套W进行前向传播,这时候在进行正则化时,加的是同一套W,然后反向传播改变W值,进行下一轮前向传播 代码如下 import tensorflow as tf import numpy as np from numpy.random import Rando…
1.本节多为复习内容,从以下图片可见一般: 2.学会使用 from numpy.random import RandomState 然后 rdm = RandomState(1) dataset_size = 128 X = rdm.rand(dataset_size, 2) Y = [[(x1 + x2) + rdm.rand() / 10.0-0.05] for(x1, x2) in X] 进行赋值的时候就可以不变了 import tensorflow as tf from numpy.ra…
这样是比较好的一个summary命名 (1)'networks'.'layer_%d' % n_layer.'weights'三个命名空间相互叠加 (2) if i % 50 == 0: result = sess.run(merged, feed_dict={xs: x_data, ys: y_data}) writer.add_summary(result, i) 逐步写入的程序如上面所示 (3)最后的tensorboard图还是比较完美的 import numpy as np import…
1.首先复习前面所学知识: (1)g = tf.Graph() (2)别忘了初始化时的initializer (3)with tf.name_scope("generate_constant"): x = tf.constant([[0.7, 0.9]], name="x")这个东西发现没球用 (4)最好是用with tf.variable_scope("generate_variable"):与tf.get_variable相结合,不要用tf.…
1.运行以下代码 import tensorflow as tf a = tf.constant([1.0, 2.0], name="a") b = tf.constant([2.0, 3.0], name="b") result = a + b print result sess = tf.InteractiveSession () print(result.eval()) sess.close() 得到 其中,add与代码中的add有关,0表示第一个输出,图中的…
1.绝大部分时候都会忽略graph的使用,如下代码所示,学会怎样tf.get_default_graph()是重要的,此外注意变量定义时的初始化必须加 initializer 2.此外,要知道 writer2 = tf.summary.FileWriter(Summary_log, g2) writer2.close() 这两条语句加在哪里也是极为重要的 3.注意命名及命名空间的使用 import tensorflow as tf Summary_log = './path' g1 = tf.G…
本节的循环神经网络一图足以说明 import numpy as np X = [1, 2] state = [0.0, 0.0] # 定义RNN的参数 # 以下两个本来是像这样分开的,但是在运算时合并了 w_cell_state = np.asarray([[0.1, 0.2], [0.3, 0.4]]) w_cell_input = np.asarray([0.5, 0.6]) b_cell = np.asarray([0.1, -0.1]) w_output = np.asarray([[1…
1.批量梯度下降 批量梯度下降法是最原始的形式,它是指在每一次迭代时使用所有样本来进行梯度的更新.从数学上理解如下: 对应的目标函数(代价函数)即为: (1)对目标函数求偏导: (2)每次迭代对参数进行更新: 优点:   (1)一次迭代是对所有样本进行计算,此时利用矩阵进行操作,实现了并行.   (2)由全数据集确定的方向能够更好地代表样本总体,从而更准确地朝向极值所在的方向.当目标函数为凸函数时,BGD一定能够得到全局最优. 缺点:   (1)当样本数目 m 很大时,每迭代一步都需要对所有样本…
tensorflow prelu的实现细节 output = tf.nn.leaky_relu(input, alpha=tf_gamma_data,name=name) #tf.nn.leaky_relu 限制了tf_gamma_data在[0 1]的范围内 内部实现方法是 output = tf.maxmum(alpha * input, input) alpha > 1 时,会出现,正值*alpha, 负值不变 import numpy as np import tensorflow as…
tf-faster-rcnn github:https://github.com/endernewton/tf-faster-rcnn backbone,例如vgg,conv层不改变feature大小,pooling层输出(w/2, h/2),有4个pooling所以featuremap变为原图1/16大小. 检测RPN模块: 例如任意图片reshape到800*600,输入网络过vgg,conv5_3->rpn_conv/3*3->rpn_relu 得到feature map (1,512,…
随着跟着TensorFlow视频学习,学到Tensorboard可视化工具这里的时候. 在windows,cmd里面运行,tensorboard --logdir=你logs文件夹地址  这行代码,一直不行. 它提示.它暗示我没配环境变量. 当我配上环境变量后,它还是提示这句. 然后我通过对比笔记本跟台式机的情况. 台式机:windows系统 python版本3.6.4 TensorFlow版本 1.5.0  能正常运行Tensorboard 笔记本:windows系统 python版本3.64…
mxnet的卷积 kernel = 3  pad=1边界补充0后,不管stride是否1还是2,imgw = 奇数或者偶数, 都是从图像位置(0,0)开始卷积 tensorlfow的卷积 kernel = 3 pad=‘SAME’边界补充0后, imgw = 偶数 stride=1, 是从图像位置(0,0)开始卷积 stride=2, 是从图像位置(1,1)开始卷积 与mxnet不同 imgw = 奇数 stride=1, 是从图像位置(0,0)开始卷积 stride=2, 是从图像位置(0,0…
Batch Normalization: 原理及细节 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 吴恩达deeplearningai课程 课程笔记 Udacity课程 为了标准化这些值,我们首先需要计算出批数据中的平均值,如果你仔细看这些代码,你会发现这不是对输入的批数据计算平均值,而是对任意一个特定层的在传入非线性函数之前的输出求平均值.然后将其通过非线性函数后传递给下一层作为输入. 我们将平均值表示为\(\mu_B\),是所有\(x_i\) 值得和然后除以\(x_i\)…
[摘要] Tensorflow Serving 是tf模型持久化的重要工具,本篇介绍如何通过Docker compose搭建并调试TensorFlow Serving TensorFlow Serving GitHub地址: https://github.com/tensorflow/serving 建立docker-compose 文件目录 在serving下建立docker-compose.yml文件. 一.下载安装测试TensorFlow Serving正常运行 拉取最近版本的docker…