1.
Python中os.sep作用:
使得写的代码可以跨操作系统。不用修改 '/' '\\'
2.
命令行中输入conda list
显示Anaconda中安装的所有工具的版本
3.
tf.random_normal | tf.truncated_normal | tf.random_uniform含义区别
(1)tf.random_normal(shape,mean=0.0,stddev=1.0,dtype=tf.float32,seed=None,name=None)
(2)tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
(3)tf.random_uniform(shape,minval=0,maxval=None,dtype=tf.float32,seed=None,name=None)
这几个都是用于生成随机数tensor的,尺寸是shape 。
random_normal: 正太分布随机数,均值mean,标准差stddev
truncated_normal:截断正态分布随机数,均值mean,标准差stddev,不过只保留[mean-2*stddev,mean+2*stddev]范围内的随机数
random_uniform:均匀分布随机数,范围为[minval,maxval]
4.
tf.argmax(vector, 1):返回的是vector中的最大值的索引号
如果vector是一个向量,那就返回一个值;
如果是一个矩阵,那就返回一个向量,这个向量的每一个维度都是相对应矩阵行的最大值元素的索引号。
5.
cast(x, dtype, name=None):将x的数据格式转化成dtype.
例如,原来x的数据格式是bool, 那么将其转化成float以后,就能够将其转化成0和1的序列。反之也可以。
例如:
a = tf.Variable([1,0,0,1,1])
b = tf.cast(a,dtype=tf.bool)
sess = tf.Session()
sess.run(tf.initialize_all_variables())
print(sess.run(b))
#[ True False False True True]
6.
tf.equal(A, B)是对比这两个矩阵或者向量的相等的元素,如果是相等的那就返回True,否则返回False,返回的值的矩阵维度和A是一样的。
例如:
1. import tensorflow as tf
2. import numpy as np
3. A = [[1,3,4,5,6]]
4. B = [[1,3,4,3,2]]
5. with tf.Session() as sess:
6. print(sess.run(tf.equal(A, B)))
#[[ True True True False False]]
7.
tf.reduce_mean|tf.reduce_sum|tf.reduce_max函数:均表示tensorflow中一类在tensor的某一维度上求值的函数。
如:
求最大值
tf.reduce_max(input_tensor,reduction_indices=None, keep_dims=False, name=None)
求平均值
tf.reduce_mean(input_tensor,reduction_indices=None, keep_dims=False, name=None)
参数1--input_tensor:待求值的tensor。
参数2--reduction_indices:在哪一维上求解。
参数(3)(4)可忽略
例如:
# 'x' is [[1., 2.]
# [3., 4.]]
x是一个2维数组,分别调用reduce_*函数如下:
首先求平均值:
tf.reduce_mean(x) ==> 2.5 #如果不指定第二个参数,那么就在所有的元素中取平均值
tf.reduce_mean(x, 0) ==> [2., 3.] #指定第二个参数为0,则第一维的元素取平均值,即每一列求平均值
tf.reduce_mean(x, 1) ==> [1.5, 3.5] #指定第二个参数为1,则第二维的元素取平均值,即每一行求平均值
同理,还可用tf.reduce_max()求最大值等。
8.
Scope.reuse_valiables()共享变量
from __future__ import print_function
import tensorflow as tf
tf.set_random_seed(1)
with tf.variable_scope("a_valiable_scope") as scope:
initializer = tf.constant_initializer(value = 3)
var1 = tf.get_variable(name = 'var1', shape = [1], dtype = tf.float32)
scope.reuse_variables()#如果不加这句就会报错
var1_reuse = tf.get_variable(name = 'var1')