ChatGPT가 다 알려주는 마당에 무슨 의미가 있겠냐만은, 쉽게 npz로 저장하고 불러오는 방법을 알아보자.
개인적으로 python의 dictionary와 **
문법을 통해 아래와 같이 사용하는 것이 가장 효율적이라고 생각한다:
import numpy as np
results_dict = {}
results_dict["test"] = np.array([0.1, 0.2, 0.3])
results_dict["train"] = np.array([0.4, 0.5, 0.6])
np.savez('dictionary.npz', **results_dict)
loaded_dictionary = np.load('dictionary.npz')
# 딕셔너리로 변환
for key in loaded_dictionary:
print(f"{key}: {loaded_dictionary[key]}")
여기서 **
은 키워드 인수 언패킹(Keyword Argument Unpacking)인데, 함수 호출 시 사전(dictionary)에 있는 키-값 쌍을 키워드 인수로 전달한다.
(C++에는 없는 문법…역시 갓-이썬).
함수를 호출할 때와 정의할 때 두 가지로 나뉘어서 사용할 수 있다:
함수 호출 시:
def my_function(a, b, c):
print(a, b, c)
my_dict = {'a': 1, 'b': 2, 'c': 3}
my_function(**my_dict) # 출력: 1 2 3
함수 정의 시:
def my_function(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
my_function(a=1, b=2, c=3)