인공지능수학 4주차

wi_label·2021년 11월 28일
1

Graduate school

목록 보기
6/17

과제 목표

파이썬 numpy 패키지를 이용해 스칼라, 벡터, 행렬, 텐서 간의 변환을 수행하는 코드를 작성합니다.

참고자료: 링크
##스칼라

스칼라 ss의 초기값을 3으로 정의하는 numpy 코드를 작성하시오.

import numpy as np

# TODO
s = 3

print("s:", s)
print(np.shape(s))

스칼라 -> 벡터

스칼라 ss를 1-벡터 v\mathbf{v}로 변환하는 numpy 코드를 작성하시오.

# TODO
v = np.array([s])

print("v:", v)
print(np.shape(v))

스칼라 -> 행렬

스칼라 ss를 1x1 행렬 A\mathbf{A}로 변환하는 numpy 코드를 작성하시오.

# TODO
A = np.array([s])

print("A:", A)
print(np.shape(A))

스칼라 -> 3-텐서

스칼라 ss를 1x1x1 텐서 T\mathbf{T}로 변환하는 numpy 코드를 작성하시오.

# TODO
T = A.reshape((1,1))

print("T:", T)
print(np.shape(T))

벡터

다음과 같은 초기값을 가지는 24-벡터 v\mathbf{v}를 정의하는 numpy 코드를 작성하시오.

v=[12 2324]\mathbf{v} = \left[ \begin{array}{rrrrr} 1 & 2 & \cdots \ 23 & 24 \end{array} \right]
# 24-벡터
# TODO
v = np.array([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24])

print("v:", v)
print(np.shape(v))

벡터 -> 행렬

24-벡터 v\mathbf{v}를 각각 1x24 행렬, 3x8 행렬, 6x4 행렬, 24x1 행렬 A\mathbf{A}로 변환하는 numpy 코드를 작성하시오.

# 24-벡터 --> (1x24) 행렬
# TODO
A = np.reshape(v, (1, 24))

print("A:", A)
print("A:", np.shape(A))

# 24-벡터 --> (3x8) 행렬
# TODO
A = np.reshape(v, (3, 8))

print("A:", A)
print("A:", np.shape(A))

# 24-벡터 --> (6x4) 행렬
# TODO
A = np.reshape(v, (6, 4))

print("A:", A)
print("A:", np.shape(A))

# 24-벡터 --> (24x1) 행렬

# TODO
A = np.reshape(v, (24, 1))

print("A:", A)
print("A:", np.shape(A))

벡터 -> 3-텐서

24-벡터 v\mathbf{v}를 2x3x4 텐서 T\mathbf{T}로 변환하는 numpy 코드를 작성하시오.

# 24-벡터 --> (2x3x4) 텐서 (즉, 2개의 (3x4)행렬)
# TODO
T = np.reshape(v, (2, 3, 4))

print("T:", T)
print("T:", np.shape(T))

벡터 -> 스칼라

24-벡터 v\mathbf{v}의 모든 요소(element)를 합해, 스칼라 ss로 나타내는 numpy 코드를 작성하시오.

# TODO
s = np.sum(v)

print(s)

행렬

다음의 4x3 행렬 AA를 정의하는 numpy 코드를 작성하시오.

A=[123456789101112]A = \left[ \begin{array}{rrrr} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \\ 10 & 11 & 12 \\ \end{array} \right]
# TODO
A = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])

print(A)
print(np.shape(A))

행렬 -> 3-텐서

4x3 행렬 AA를 2x3x2 텐서 T\mathbf{T}로 변환하는 numpy 코드를 작성하시오.

# 4x3 행렬 --> (2x3x2) 텐서
# TODO
T = np.reshape(A, (2, 3, 2))

print(T)
print(np.shape(T))

행렬 -> 벡터

4x3 행렬 AA를 12-벡터 v\mathbf{v}로 변환하는 numpy 코드를 작성하시오.

# TODO
v = np.reshape(A, (1,12))

print(v)
print(np.shape(v))

행렬 -> 스칼라

4x3 행렬 AA의 모든 요소(element)를 합해, 스칼라 ss로 나타내는 numpy 코드를 작성하시오.

# TODO
s = np.sum(A)

print(s)
print(np.shape(s))
profile
옥은 부서질 지언정 흰 빛을 잃지 않고, 대나무는 불에 탈 지언정 그 곧음을 잃으려 하지 않는다.

0개의 댓글