Tags
- 도쿄
- 우리fisa
- 우리에프아이에스
- k-디지털트레이닝
- 전시
- 여행
- 대만여행
- Python
- 수요미식회
- 대만
- 군산
- 사진
- 건담
- 축복이
- CS231n
- fdr-x3000
- 전주
- 오사카
- 해리포터
- 시청
- 카페
- 650d
- SQL
- 우리fis아카데미
- 축복렌즈
- 17-55
- ai_엔지니어링
- 맛집
- 제주도
- 글로벌소프트웨어캠퍼스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Today
- Total
Recent Posts
300x250
브렌쏭의 Veritas_Garage
[우리FISA] 2일차 Python Concepts 본문
아 윈도우즈 한영변환키에 맥 커멘드 키에 헷갈려서 너무 화가 나
Concepts
Copy :: Deep Copy vs Shallow Copy
얕은 복사
- 객체를 복사할 때, 객체의 주소값만 복사하는 것
- 즉, 객체의 주소값만 복사하기 때문에 원본 객체의 변경이 복사본에도 영향을 미침
copy()
함수를 사용하면 얕은 복사가 됨copy()
함수는 객체의 주소값만 복사하기 때문에, 객체 내부의 객체는 복사되지 않음- 따라서, 내부 객체의 변경이 복사본에도 영향을 미침
변수 이름은 다르지만 결국 동일한 주소를 나타내는 경우
- 메모리값이 같다 (2개 이상 얼마든지... 메모리값을 참조할 뿐)
- 공간 효율성, 메모리 효율성 때문
- 전체 값을 항상 메모리에 복사하면 그만큼 속도가 느려지고 메모리 공간이 부족해질 수 있음
- 파이썬은 주소를 복사해서 사용을 하는 얕은 복사를 기본 복사로 차용을 하고 있다
깊은 복사
- 객체를 복사할 때, 객체의 주소값 뿐만 아니라 객체 내부의 객체까지 복사하는 것
- 즉, 객체 내부의 객체까지 복사하기 때문에 원본 객체의 변경이 복사본에 영향을 미치지 않음
deepcopy()
함수를 사용하면 깊은 복사가 됨
예시
import copy
a = [1, 2, 3]
b = copy.copy(a) # 얕은 복사
c = copy.deepcopy(a) # 깊은 복사
a[0] = 4
print(a) # [4, 2, 3]
print(b) # [4, 2, 3]
print(c) # [1, 2, 3]
다차원 벡터를 표현할 때 중요하다
- 다차원 벡터를 표현할 때, 얕은 복사와 깊은 복사의 차이가 중요하다
- 다차원 벡터를 표현할 때, 얕은 복사를 하면 내부 벡터의 변경이 복사본에도 영향을 미칠 수 있음
- 따라서, 다차원 벡터를 표현할 때는 깊은 복사를 사용하는 것이 안전함
- 다차원 벡터를 표현할 때는
copy.deepcopy()
함수를 사용하는 것이 좋음
2차원 벡터의 예시
import copy
a = [[1, 2], [3, 4]]
b = copy.copy(a) # 얕은 복사
c = copy.deepcopy(a) # 깊은 복사
a[0][0] = 5
print(a) # [[5, 2], [3, 4]]
print(b) # [[5, 2], [3, 4]]
print(c) # [[1, 2], [3, 4]]
딥러닝 과정에서 행렬의 연산을 할 상황이 잦기 때문에, 늘 주의할 것.
물론 NumPy, sci-kit Learn, TensorFlow 등의 라이브러리를 사용하면 기본적으로 깊은 복사를 사용하므로, 이러한 문제가 발생하지 않음
'[Project_하다] > [Project_공부]' 카테고리의 다른 글
[우리FISA] 4일차 RegExp (0) | 2024.07.11 |
---|---|
[우리FISA] 3일차 Python 제어문 (0) | 2024.07.10 |
[우리FISA] 2일차 Python Methods (0) | 2024.07.10 |
[CS50] Memory Stack, Heap... by swap (0) | 2024.07.09 |
[우리FISA] 2일차 Python basics with Colab (0) | 2024.07.09 |
[우리FISA] 1일차 Orientation (0) | 2024.07.08 |
[혼공컴운] CS기초, 입문 (0) | 2024.07.06 |
Comments