Python学习中遇到的问题汇总

1.

Pythonos.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以后,就能够将其转化成01的序列。反之也可以。

 

例如:

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')

 



你可能感兴趣的:(Python)