2018. 12. 10. 00:32ㆍML, OpenCV
tf.constant 함수
상수텐서를 만들때 사용하는 함수이다.
a = tf.constant(np.arange(6).reshape(2,3))
이런식으로 값을 넣어줄 때 사용한다.
tf.reduce_sum()함수
b = tf.reduce_sum(a)
c = tf.reduce_sum(a, axis = 0)
d = tf.reduce_sum(a, axis = 1)
행렬값을 더해주는 함수이다.
sess = tf.Session()
print("a =",sess.run(a))
print("b =",sess.run(b))
print("c =",sess.run(c))
print("d =",sess.run(d))
sess.close()
세션을 열고 값을 출력한다.
a = [[0 1 2]
[3 4 5]]
b = 15
c = [3 5 7] #열을 기준으로 더한 값
d = [ 3 12] #행을 기준으로 더한 값
tf.reduce_mean()함수도 비슷하다.
이 함수는 행렬의 평균을 구하는 함수이다.
a = tf.constant(np.arange(6).reshape(2,3),dtype=tf.float32) #tf.reduce_mean
b = tf.reduce_mean(a)
c = tf.reduce_mean(a, axis = 0)
d = tf.reduce_mean(a, axis = 1)
sess = tf.Session()
print("a =",sess.run(a))
print("b =",sess.run(b))
print("c =",sess.run(c))
print("d =",sess.run(d))
sess.close()
출력값은 아래와 같다
a = [[0. 1. 2.]
[3. 4. 5.]]
b = 2.5
c = [1.5 2.5 3.5] #열을 기준으로 평균을 낸 값
d = [1. 4.] #행을 기준으로 평균을 낸 값
tf.matrix_inverse() 함수와 tf.matmul() 함수
tf.matrix_inverse() 함수는 역행렬을 구해주는 함수이고
tf.matmul() 함수는 행렬곱을 해주는 함수이다.
A = tf.constant(np.array([[1,0,0],[-1,2,3],[0,1,2]]),
dtype = tf.float32)
inv_A = tf.matrix_inverse(A) #tf.linalg.inv(A)
B = tf.matmul(A,inv_A) #B = A * inv_A
sess = tf.Session()
print(sess.run(A))
print(sess.run(inv_A))
print(sess.run(B))
sess.close()
출력값
[[ 1. 0. 0.]
[-1. 2. 3.]
[ 0. 1. 2.]]
[[ 1. 0. 0.]
[ 2. 2. -3.]
[-1. -1. 2.]]
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
tf.linspace() 함수는 균일한 간격으로 나누는 함수이다.
tf.range()와 비슷하다고 볼 수 있다.
이 함수는 정해준 간격만큼 값이 증가하는 함수이다.
a = tf.linspace(0.0, 1.0, 5)
b = tf.range(5)
c = tf.range(1,5)
d = tf.range(1, 5, 0.5)
sess = tf.Session()
print("a =",sess.run(a))
print("b =",sess.run(b))
print("c =",sess.run(c))
print("d =",sess.run(d))
sess.close()
출력값
a = [0. 0.25 0.5 0.75 1. ]
b = [0 1 2 3 4]
c = [1 2 3 4]
d = [1. 1.5 2. 2.5 3. 3.5 4. 4.5]
tf.random_shuffle()함수는 값을 섞어주고
tf.Variable() 함수는 변수를 만드는데 사용한다.
a = tf.range(1,5)
b = tf.random_shuffle(a)
x = tf.Variable(a) #변수에 a 넣기
sess = tf.Session()
print("a = ",sess.run(a))
print("b = ",sess.run(b))
sess.run(tf.global_variables_initializer())
print("x =", sess.run(x))
sess.close()
텐서플로우에서 변수를 사용하기 위해서는 초기화해줘야한다.
tf.global_variables_initializer() 로 모든 변수를 초기화 해줄 수 있다.
출력값
a = [1 2 3 4]
b = [1 4 2 3]
x = [1 2 3 4]