본문 바로가기
728x90
반응형
SMALL

Python Library185

[VPython] Widgets Widgets VPython에는 사용자가 개체 매개 변수를 제어할 수 있는 widget이 있다. widget은 코드에 나타나는 순서대로 모델 아래에 표시한다. scene.append_to_caption('\n\n')을 사용하여 위젯 사이에 공백을 추가하면 된다. 삭제할 때 = (bind=function), .delete()를 사용한다. Bind Parameter 모든 widget에는 클릭하면 호출되는 함수에 할당되는 bind 매개 변수가 있다. 먼저 widget의 입력을 사용하여 객체 parameter를 제어하는 python 함수를 정의한다. def f(x): # define the function actions here 키워드 def는 python으로 함수를 선언하고 입력 parameter x는 wid.. 2022. 1. 17.
[PyTorch] 자동 미분 (Automatic differentiation) 자동 미분 (Autimatic differentiation) 신경망을 학습할 때 가장 자주 사용되는 알고리즘은 역전파이다. 이 알고리즘에서, 매개변수 (모델 가중치)는 주어진 매개변수에 대한 손실 함수의 변화도(gradient)에 따라 조정된다. 이러한 변화도를 계산하기 위해 PyTorch에는 torch.autograd라고 불리는 자동 미분 엔진이 내장되어 있다. 이는 모든 계산 그래프에 대한 변화도의 자동 계산을 지원한다. import torch # 입력 x, 매개변수 w와 b , 그리고 일부 손실 함수가 있는 가장 간단한 단일 계층 신경망을 가정 x = torch.ones(5) # input tensor y = torch.zeros(3) # expected output w = torch.randn(5.. 2022. 1. 13.
[PyTorch] 모델 매개변수 (Parameter) 모델 매개변수 (Parameter) 신경망 내부의 많은 계층들은 매개변수화 (parameterize)된다. 즉, 학습 중에 최적화되는 weight와 bias과 연관지어진다. nn.Module 을 상속하면 모델 객체 내부의 모든 필드들이 자동으로 추적 (track)되며, 모델의 parameters() 및 named_parameters() method로 모든 parameter에 접근할 수 있게 된다. 각 매개변수들을 순회하며 (iterate), 매개변수의 크기와 값을 출력한다. print("Model structure: ", model, "\n\n") for name, param in model.named_parameters(): print(f"Layer: {name} | Size: {param.size().. 2022. 1. 13.
[PyTorch] 모델 계층 (Layer) 모델 계층 (Layer) input_image = torch.rand(3,28,28) print(input_image.size()) # layer 확인 Out: torch.Size([3, 28, 28]) nn.Flatten nn.Flatten는 layer를 초기화하여 각 28x28의 2D image를 784 pixel 값을 갖는 연속된 array로 변환한다. (dim=0의 미니배치 차원은 유지) flatten = nn.Flatten() flat_image = flatten(input_image) print(flat_image.size()) Out: torch.Size([3, 784]) nn.Linear nn.Linear은 저장된 가중치 (weight)와 편향 (bias)을 사용하여 입력에 선형 변환 (l.. 2022. 1. 13.
[PyTorch] 신경망 모델 구성 신경망 모델 신경망은 데이터에 대한 연산을 수행하는 계층 (layer) / 모듈(module)로 구성되어 있다. torch.nn 네임스페이스는 신경망을 구성하는데 필요한 모든 구성 요소를 제공한다. PyTorch의 모든 module은 nn.Module 의 하위 클래스 (subclass)이다. 신경망은 다른 module (계층)로 구성된 module이다. 이 중첩된 구조는 복잡한 아키텍처를 쉽게 구축하고 관리할 수 있다. # FashionMNIST 데이터셋의 이미지들을 분류하는 신경망 import os import torch from torch import nn from torch.utils.data import DataLoader from torchvision import datasets, transfo.. 2022. 1. 13.
[PyTorch] 변형 (Transform) 변형 (Transform) 데이터가 항상 ML 알고리즘 학습에 필요한 최종 처리가 된 형태로 제공되지 않는다. 따라서, 변형 (transform)을 통해 데이터를 조작하고 학습에 적합하게 만든다. 모든 TorchVision 데이터셋들은 변형 logic을 갖는, 호출 가능한 객체 (callable)를 받는 매개변수 두 개 특징 (feature)을 변경하기 위한 transform 과 정답 (label)을 변경하기 위한 target_transform을 갖는다. torchvision.transforms 모듈은 주로 사용하는 몇 가지 transform을 제공한다. FashionMNIST의 feature은 PIL Image 형식이며, 정답 (label)은 정수 (integer)이다. 학습을 하려면 정규화 (norm.. 2022. 1. 13.
[PyTorch] DATASET / DATALOADER DATASET / DATALOADER 데이터 샘플을 처리하는 코드는 지저분(messy)하고 유지보수가 어려울 수 있다. 더 나은 가독성 (readability)과 모듈성 (modularity)을 위해 데이터셋 코드를 모델 학습 코드로부터 분리하는 것이 이상적다. PyTorch는 torch.utils.data.DataLoader와 torch.utils.data.Dataset의 두 가지 데이터 기본 요소를 제공하여 미리 준비해둔 (pre-loaded) 데이터셋 뿐만 아니라 가지고 있는 데이터를 사용할 수 있도록 한다. Dataset은 샘플과 정답 (label)을 저장하고, DataLoader는 Dataset을 샘플에 쉽게 접근할 수 있도록 순회 가능한 객체 (iterable)로 감싼다. PyTorch의 도메.. 2022. 1. 13.
[VPython] Parameters Parameters 표에서 "#"은 숫자의 placeholder로 사용된다. Changing Parameters using Variables 매개 변수는 객체를 변수에 할당하여 변경할 수 있다. = (parameter=value) Ex. my_box = box(pos=vector(0,0,0), color=color.red, opacity= parameter는 변수를 사용하여 먼저 호출하고 새 값과 동일하게 설정하여 변경할 수 있다. . = new_value Ex. my_box.pos = vector(1,2,3) # change position to (1,2,3) my_box.color = color.blue # change color to blue my_box.opacity = 0.5 # change o.. 2022. 1. 13.
[VPython] 2D / 3D Shapes 2D Shapes 2D shapes은 3D shapes에서 shape=으로 사용된다. extrusion(path=[vector(a,b,c),vector(e,f,g)] ,shape=shapes.() ) 도형의 구멍을 제거하기 위해 두께 parameter를 제거하면 된다. https://www.glowscript.org/docs/VPythonDocs/shapes.html VPython Help The shapes and paths libraries The shapes and paths libraries are mainly used together with the 3D extrusion object. The shapes library helps in creating complex 2D shapes by cre.. 2022. 1. 13.
[VPython] Shapes Box 단순 상자를 만들려면 box()를 입력하고 프로그램을 실행한다. box() 함수는 상자를 수정하기 위해 매개변수를 사용할 수 있다. Position pos parameter를 사용하여 상자를 배치한다. box(pos=vector(1, 2, 3))는 x = 1, y = 2, z = 3에 상자를 배치한다. Size size parameter를 사용하여 상자 크기를 지정한다. size=vector(width , height, depth ). 예를 들어, box(pos=vector(1, 2, 3)), size=vector(4, 5, 6)은 너비 = 4, 높이 = 5, 깊이 = 6으로 설정한다. Color color parameter를 사용하여 상자에 색상을 지정한다. color=color., colorN.. 2022. 1. 13.
728x90
반응형
LIST