知识总结

(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 RandomState rdm = RandomState(1)
dataset_size = 128
x = rdm.rand(dataset_size, 2)
y_ = [[x1**2 + x2**2] for (x1, x2) in x] def get_weight(shape, alpha, name):
with tf.variable_scope("get_variable" + name):
var = tf.get_variable(name, shape, tf.float32, initializer=tf.truncated_normal_initializer(0.01))
tf.add_to_collection("losses", tf.contrib.layers.l2_regularizer(alpha)(var))
return var with tf.name_scope("generate_value"):
xs = tf.placeholder(tf.float32, [None, 2], name="x_input")
ys = tf.placeholder(tf.float32, [None, 1], name="y_output")
batch_size = 8
layers_dimension = [2 ,10, 10, 10 ,1]
n_layers = len(layers_dimension)
in_dimension = layers_dimension[0]
cur_layer = xs for i in range(1, n_layers):
out_dimension = layers_dimension[i]
with tf.variable_scope("layer%d" % i):
weights = get_weight([in_dimension, out_dimension], 0.001, "layers")
biases = tf.get_variable("biases", [out_dimension], tf.float32, tf.constant_initializer(0.0))
cur_layer = tf.matmul(cur_layer, weights) + biases
cur_layer = tf.nn.relu(cur_layer)
in_dimension = layers_dimension[i] with tf.name_scope("loss_op"):
mse_loss = tf.reduce_mean(tf.square(ys - cur_layer))
tf.add_to_collection("losses", mse_loss)
loss = tf.add_n(tf.get_collection("losses"))
tf.summary.scalar("loss", loss) train_op = tf.train.GradientDescentOptimizer(0.01).minimize(loss) merged = tf.summary.merge_all()
init = tf.global_variables_initializer()
with tf.Session() as sess:
writer = tf.summary.FileWriter("path/", tf.get_default_graph())
sess.run(init)
for i in range(5000):
start = i*batch_size % dataset_size
end = min(start+batch_size, dataset_size)
if i % 50 == 0:
result = sess.run(merged, feed_dict={xs: x, ys: y_})
writer.add_summary(result, global_step=i)
if i % 500 ==0:
loss_op = sess.run(loss, feed_dict={xs: x, ys: y_})
print("After %d training, loss is %g" % (i, loss_op))
_ = sess.run(train_op, feed_dict={xs: x[start:end], ys: y_[start:end]})
writer.close()



Tensorflow细节-P89-collection的使用的更多相关文章

  1. 【原创】【Android】揭秘 ART 细节 ---- Garbage collection

      背景 Dalvik :http://zh.wikipedia.org/wiki/Dalvik%E8%99%9A%E6%8B%9F%E6%9C%BA ART :http://source.andro ...

  2. Tensorflow细节-P312-PROJECTOR

    首先进行数据预处理,需要生成.tsv..jpg文件 import matplotlib.pyplot as plt import numpy as np import os from tensorfl ...

  3. Tensorflow细节-P319-使用GPU基本的操作

    如果什么都不加,直接运行装了GPU的Tensorflow,结果是这样子的 import tensorflow as tf a = tf.constant([1.0, 2.0, 3.0], shape= ...

  4. Tensorflow细节-P309-高维向量可视化

    import matplotlib.pyplot as plt import tensorflow as tf import numpy as np import os from tensorflow ...

  5. Tensorflow细节-P309-监控指标可视化

    注意下面一个点就ok了 with tf.name_scope('input_reshape'): # 注意看这里,图片的生成 image_shaped_input = tf.reshape(x, [- ...

  6. Tensorflow细节-P290-命名空间与tensorboard上的节点

    讲解几个重点知识 1.对于tf.get_variable()中的reuse,意思是,如果有名字一模一样的变量,则对这个变量继续使用,如果没有名字一模一样的变量,则创建这个变量 2.options=ru ...

  7. Tensorflow细节-Tensorboard可视化-简介

    先搞点基础的 注意注意注意,这里虽然很基础,但是代码应注意: 1.从writer开始后边就错开了 2.writer后可以直接接writer.close,也就是说可以: writer = tf.summ ...

  8. Tensorflow细节-P202-数据集的高层操作

    本节是对上节的补充 import tempfile import tensorflow as tf # 输入数据使用本章第一节(1. TFRecord样例程序.ipynb)生成的训练和测试数据. tr ...

  9. Tensorflow细节-P199-数据集

    数据集的基本使用方法 import tempfile import tensorflow as tf input_data = [1, 2, 3, 5, 8] # 这不是列表吗,为什么书里叫数组 da ...

  10. Tensorflow细节-P196-输入数据处理框架

    要点 1.filename_queue = tf.train.string_input_producer(files, shuffle=False)表示创建一个队列来维护列表 2.min_after_ ...

随机推荐

  1. python模块知识四 包和logging日志

    11.包 包:文件夹下具有__init__.py文件就是一个包,包用来管理多个模块 包的结构如下: bake ├── __init__.py ├── api ├── __init__.py ├── p ...

  2. THUSC2019:Illusory World

    拿了1=就来更 Update:没约咕了

  3. 2.4_Database Interface ODBC数据库驱动程序类型(单层与多层)

    两大类:单层驱动程序和多层驱动程序 1.单层数据库驱动程序 早期的xBASE数据库系统的驱动程序就属于单层驱动程序. 单层驱动程序不仅要处理ODBC函数调用,还要解释执行SQL语句,执行数据库管理系统 ...

  4. [转]mongodb authentication 设置权限之后,新建个管理账户和一般数据库用户,在win 7 64bit 环境下测试使用实例

    如果之前安装mongodb时没有使用 --auth,那么必须要卸载MongoDB服务,进行重新安装,设置账号权限才生效! 主要是解决在测试使用mongo db 时候,总是出现的MongoAuthent ...

  5. springboot笔记08——整合swagger2

    Swagger是什么? Swagger是一个RESTFUL 接口的文档在线自动生成和功能测试的框架.利用swagger2的注解可以快速的在项目中构建Api接口文档,并且提供了测试API的功能. Spr ...

  6. 【开发笔记】- Linux命令大全

    系统信息  arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS ...

  7. Js保存图片到本地

    注:此方法是使用hbuilderx云打包之后才能用,否则在浏览器中会报 plus is not defined 官方文档 http://www.html5plus.org/doc/zh_cn/gall ...

  8. 移动端vue2.5去哪儿项目-常见问题整理

    一.项目中遇到的问题.难点及解决方式 1. 移动端开发中的1px边框问题,由于在不同设备屏幕上,可能会使得1px实际在移动端显示不是1px,怎么解决? 2. 移动端click点击事件,会延迟300ms ...

  9. 在iMac上建立一个git仓库

    前沿:一般我们去git clone 的时候,数据直接指向了某某分支的最后一次提交.想想 我们每次提交的不同点都在哪,去 当前工程文件下找到 .git 文件夹,去下面自己看看吧 - .git - .co ...

  10. requests爬虫get请求

    1.简单get请求 url = 'https://www.baidu.com' headers = { 'accept': 'text/html,application/xhtml+xml,appli ...