Tensorflow笔记(初)

第二讲 Python语法串讲

常用指令

  • Ctrl+Alt+T 打开终端
  • pwd 打印当前目录
  • ls 列出当前路径下的文件和目录
  • mkdir 新建目录
  • cd 打开指定目录
  • python 运行python解释器
  • source ./venv/bin/activate 运行虚拟环境
.代表当前路径
..代表上一级路径
-代表上一次所在目录
~代表用户的home目录

vim编辑器

  • vim 文件名 打开或新建文本
  • 点击i进入插入模式
  • Esc+:+q退出
  • Esc+:+wq保存更改退出
  • Esc+:+q!不保存更改退出
  • coding:utf-8兼容中文输入

turtle模块

import turtle
t = turtle.Pen()
t.forward(x)
t.backward(x)
t.left(x)
t.right(x)
t.reset()

python类中,一下划线开头是protected,两下划线开头是private。

文件读写

import pickle
#文件读
load_file=open("save.dat","rb")
load_game_data=pickle.load(load_file)
load_file.close()
#文件写
save_file=open("save.dat","wb")
pickle.dump(game_data,save_file) #game_data是一个字典
save_file.close()

第三讲 搭建神经网络

基本概念

用张量表示数据,用计算图搭建神经网络,用会话执行计算图,优化线上的权重(参数),得到模型。

张量

多维数组,用“阶”表示维度。

数据类型

Tensorflow的数据类型有tf.float32、tf.int32等。

import tensorflow as tf
a = tf.constant([1.0, 2.0])
b = tf.constant([3.0, 4.0])
result = a+b
print result

计算图

搭建神经网络,不计算。

import tensorflow as tf
x = tf.constant([[1.0, 2.0]])
w = tf.constant([[3.0], [4.0]])
y = tf.matmul(x, w)
print y

会话

执行运算。

with tf.Session() as sess:
        print sess.run(y)

神经网络的参数

指神经元线上的参数w,一般先随机生成。让w等于tf.Varible,把生成的方式写在括号里。常用的参数有;

tf.random_normal() #生成正态分布随机数
tf.truncated_normal() #生成去掉过大偏离点的正态分布随机数
tf.random_uniform() #生成均匀分布随机数
tf.zeros #生成全0数组
tf.ones #生成全1数组
tf.fill #生成全定值数组
tf.constant #生成直接给定值的数组

举例:
w=tf.Variable(tf.random_normal([2,3],stddev=2, mean=0, seed=1)),表示生成正态分布随机数,形状两行三列,标准差是 2,均值是 0,随机种子是 1。
w=tf.Variable(tf.Truncated_normal([2,3],stddev=2, mean=0, seed=1)),表示去掉偏离过大的正态分布,也就是如果随机出来的数据偏离平均值超过两个标准差,这个数据将重新生成。
w=random_uniform(shape=7,minval=0,maxval=1,dtype=tf.int32, seed=1),表示从一个均匀分布[minval maxval)中随机采样,注意定义域是左闭右开,即包含 minval,不包含 maxval。

神经网络的搭建

1、准备数据集,提取特征,作为输入喂给神经网络(Neural Network,NN)
2、搭建 NN 结构,从输入到输出(先搭建计算图,再用会话执行)
( NN 前向传播算法→计算输出)
3、大量特征数据喂给 NN,迭代优化 NN 参数
( NN 反向传播算法→优化参数训练模型)
4、使用训练好的模型预测和分类

前向传播

  • 变量初始化、计算图节点运算都要用会话(with 结构)实现
with tf.Session() as sess:
        sess.run()
  • 变量初始化:在 sess.run 函数中用 tf.global_variables_initializer()汇总所有待优化变量。
init_op = tf.global_variables_initializer()
        sess.run(init_op)
  • 计算图节点运算:在 sess.run 函数中写入待运算的节点
        sess.run(y)
  • 用 tf.placeholder 占位,在 sess.run 函数中用 feed_dict 喂数据
喂一组数据:
x = tf.placeholder(tf.float32, shape=(1, 2))
sess.run(y, feed_dict={x: [[0.5,0.6]]})
喂多组数据:
x = tf.placeholder(tf.float32, shape=(None, 2))
sess.run(y, feed_dict={x: [[0.1,0.2],[0.2,0.3],[0.3,0.4],[0.4,0.5]]})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。