Tensorflow学习日志与心得(一)

最近开始着手于神经网络的学习,查阅了相关资料使用Tensorflow为构建的主流,现在开始从基础部分开始学习,一起进行交流

1.概述

Tensorflow是一个编程系统,使用图(graphs)来表示计算任务,图(graphs)中的节点称之为op(operation),一个op获得0个或多个Tensor,执行计算,产生0个或多个Tensor。Tensor 看作是一个n 维的数组或列表。图必须在会话(Session)里被启动。
Tensor—数据
Session—会话 所有计算都要在会话中进行
graphs—图
operation—节点 进行加减乘除等运算的节点

2.Tensorflow基本操作

2.1常用函数
以下只列出了在学习中经常使用的函数,完整版可查看http://blog.csdn.net/lenbow/article/details/52152766
https://www.w3cschool.cn/tensorflow_python/tensorflow_python-36hu2mm9.html

操作 描述
tf.add(x, y, name=None) 求和
tf.sub(x, y, name=None) 减法
tf.mul(x, y, name=None) 乘法
tf.div(x, y, name=None) 除法
tf.mod(x, y, name=None) 取模
tf.square(x, name=None) 计算平方 (y = x * x = x^2).
tf.sqrt(x, name=None) 开平方根
tf.reduce_mean(input_tensor,axis=None,keep_dims=False,name=None,reduction_indices=None) 求平均值
tf.matmul(a,b,transpose_a=False,transpose_b=False,a_is_sparse=False, b_is_sparse=False,name=None) 矩阵相乘
tf.constant() 定义常量
tf.Variable() 定义变量
with tf.Session() as sess: 定义会话结束后自动关闭
init = tf.global_variables_initializer() 全局变量初始化
tf.assign(a, b) 赋值 将b的值赋给a
sess.run(title) 执行会话
tf.placeholder(dtype,shape=None,name=None) 为一个tensor插入一个占位符

2.2基础操作
1)创建会话

import tensorflow as tf  #加入“头文件”
c1 = tf.constant([[3,3]])  #创建一行两列的矩阵
c2  = tf.constant([[3],[2]])  #创建两行一列的矩阵
product = tf.matmul(c1 , c2)  #进行矩阵乘法运算
with tf.Session() as sess:  #创建会话 Session(S要大写)reslut = sess.run(product)  #输出运算结果
print(reslut)
[[15]]

2)变量操作

import tensorflow as tf  #加入“头文件”
x = tf.Variable([1,2])  #创建变量x
c = tf.constant([3,3])  #创建常量c
sub = tf.subtract(x,c)  #进行减法操作
add = tf.add(x,c)  #进行加法操作
init = tf.global_variables_initializer()  #变量必须初始化 全局变量初始化
with tf.Session() as sess:  #创建session并创建默认图sess.run(init)print(sess.run(sub))
print(sess.run(add))
[-2 -1]
[4 5]
#变量自加一
state = tf.Variable(0,name='counter')  #创建初始值为0的变量
new_value = tf.add(state,1)  #给state加1
update = tf.assign(state , new_value)  #将new_value的值赋给state
init = tf.global_variables_initializer()  #全局变量初始化with tf.Session() as sess: sess.run(init)print(sess.run(state))for _ in range(5):  #循环5次加1的操作print(sess.run(update))
print(sess.run(state))
0
1
2
3
4
5

3)Feed操作

c1 = tf.placeholder(tf.float32)  #创建32位浮点型占位符(在执行时需要为其提供数据data)
c2 = tf.placeholder(tf.float32)
add = tf.add(c1,c2)  #相加
with tf.Session() as sess:
print(sess.run(add,feed_dict={c1:[2],c2:[22]}))  #在最终执行时给c1 c2赋值
[24.]

4)梯度下降拟合曲线

import numpy as np
import tensorflow as tf
x_data = np.random.rand(100)
y_data =  .1 * x_data +.2
#构建线性模型优化器 优化y=kx+b
#待优化的参数
b = tf.Variable(0.)  #变量
k = tf.Variable(0.)
y = k * x_data + b
#构建二次代价函数
loss = tf.reduce_mean(tf.square(y_data - y))  #二者相差平方的均值
optimizer = tf.train.GradientDescentOptimizer(0.2)  #梯度下降优化器
train = optimizer.minimize(loss)  #训练使代价函数最小init = tf.global_variables_initializer()  #初始化
with tf.Session() as sess:sess.run(init)for step in range(200):  #迭代200次sess.run(train)if step%20==0:  #每20次打印一次print(step,'[k,b]:',sess.run([k,b]))
0 [k,b]: [0.050436843, 0.099178314]
20 [k,b]: [0.10087012, 0.19955701]
40 [k,b]: [0.10054425, 0.19972299]
60 [k,b]: [0.1003404, 0.19982675]
80 [k,b]: [0.10021292, 0.19989164]
100 [k,b]: [0.10013317, 0.19993222]
120 [k,b]: [0.10008328, 0.19995761]
140 [k,b]: [0.10005209, 0.19997348]
160 [k,b]: [0.10003257, 0.19998342]
180 [k,b]: [0.10002038, 0.19998963]

本次都是一些基础操作,也是本人第一次制作博客,主要用作自身学习,如有错误的地方还望大神指点!

Tensorflow学习日志与心得相关推荐

  1. Git 个人学习笔记及心得

    作为程序员如果你还不知道 Git 和 GitHub,说不过去吧,赶紧来学习一波. 一.认识GitHub Git 是个版本控制系统,说明白点就是进行代码的各种管理,比如你写错代码进行回滚啊.追寻 Bug ...

  2. 人工神经网络与深度学习学习历程,心得及资料分享

    人工神经网络(Artificial Neural Network,即ANN ),是20世纪80 年代以来人工智能领域兴起的研究热点.它从信息处理角度对人脑神经元网络进行抽象, 建立某种简单模型,按不同 ...

  3. Tensorflow 学习之猫狗分类案例

    Tensorflow 学习之猫狗分类案例 本人一直在Cousera上学习Ng Andrew老师的Tensorflow课程,在本次猫狗分类案例当中,我对课程做了相应的记录,呈现在此,一方面加深学习的印象 ...

  4. 【干货】史上最全的Tensorflow学习资源汇总,速藏!

    一 .Tensorflow教程资源: 1)适合初学者的Tensorflow教程和代码示例:(https://github.com/aymericdamien/TensorFlow-Examples)该 ...

  5. HTML5 Canvas 学习日志(三)

    2019独角兽企业重金招聘Python工程师标准>>>  HTML5 Canvas 学习日志(三) Canvas的11种合成 蓝色为destination,粉色为source 1 ...

  6. linux shell 基础 使用日志与心得

    linux shell 基础 使用日志与心得 1.#!/bin/bash 第一行就出现 #!/bin/bash是指此脚本使用/bin/bash来解释执行. 其中,#!是一个特殊的表示符,其后,跟着解释 ...

  7. .NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二)

    .NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二) 原文:.NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二) 先上项目解决方案图 ...

  8. Tensorflow学习笔记6:解决tensorflow训练过程中GPU未调用问题

    Tensorflow学习笔记6:解决tensorflow训练过程中GPU未调用问题 参考文章: (1)Tensorflow学习笔记6:解决tensorflow训练过程中GPU未调用问题 (2)http ...

  9. tensorflow学习笔记(三十二):conv2d_transpose (解卷积)

    tensorflow学习笔记(三十二):conv2d_transpose ("解卷积") deconv解卷积,实际是叫做conv_transpose, conv_transpose ...

  10. Tensorflow学习: 乘法demo

    Tensorflow学习: Placeholder占位符 标签: tensorflow 2017-05-03 11:18 104人阅读 评论(0) 收藏 举报  分类: Tensorflow(6)  ...

最新文章

  1. archlinux cn源
  2. python 数据库查询序列化_python-将sqlalchemy类序列化为json
  3. 【github干货】主流深度学习开源框架从入门到熟练
  4. Linux如何在系统启动时自动加载模块
  5. js(Dom+Bom)第七天(1)
  6. C#LeetCode刷题之#13-罗马数字转整数(Roman to Integer)
  7. C#中委托和事件的区别
  8. 刷题笔记(1) 一个序列是否为二叉搜索树的遍历结果
  9. python工具用什么语言_Python中一些自然语言工具的使用的入门教程
  10. Ant design的Table组件报错TypeError: rawData.some is not a function
  11. 在深圳,考PMP需要花费多少钱?
  12. 希望各位大神能帮我指导一下!!!感激不尽!!!
  13. 计算机硬盘合并怎么弄,如何将分区的硬盘合并为一个磁盘?
  14. Unity 2018升级2020后XR报错error CS0619: ‘XRDevice.isPresent‘ is obsolete
  15. [JS]HTML中把图片划分成多个作用区域的区域标记
  16. 地图飞线图 echart+高德地图实现
  17. 人民币小写转换为大写
  18. 二本毕业生如何从苦逼到强大的求职记(鲍金勇)
  19. 人体力学-线速度与角速度
  20. ESP32双核CPU,利用核0实现蓝牙打印机打印,核1完成常规控制

热门文章

  1. 4.11. 蛇行矩阵
  2. “翻译质量控制实施方法”线上活动成功举办
  3. 看了2023年的一线互联网公司时薪排行榜!值得思考
  4. uni-app中左侧tab选项卡的实现效果
  5. 使用轻语言搭建简易网站
  6. 不用找,你想要的宾馆套房su模型素材都在这里
  7. golang-小试牛刀
  8. 2022年武汉市仿制药一致性评价政策性奖励申报条件要求以及奖补措施!
  9. taoism 2中sm3辅助计算工具脚本
  10. Windows画图合并图片拼接图片