목록IT (165)
And Brain said,
메서드(method) 특정 작업을 수행하는 일련의 문장들을 하나로 묶은 것. 높은 재사용성, 중복된 코드 제거, 프로그램 구조화를 위해 사용된다. 반환타입이 void가 아닌 경우 return문이 반드시 포함되어 있어야 한다. return문은 단 하나의 값만 반환한다. 반한타입이 void인 경우, 컴파일러가 메서드의 마지막에 return문을 자동으로 추가해준다. 메서드를 작성할 때는 매개변수의 유효성을 검사하는 습관을 들이자. JVM 메모리 구조 응용프로그램이 실행되면, JVM은 시스템으로부터 프로그램을 수행하는데 필요한 메모리를 할당받고 JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리하는데, 그 중 3가지 주요 영역에 대해 알아보자 1. 메서드 영역(method area) 클래스가 사용되면,..
선언위치에 따른 변수의 종류 변수는 클래스변수, 인스턴스변수, 지역변수 이렇게 세 종류가 있고 이를 결정짓는 것은 "변수의 선언된 위치"다. 멤버변수를 제외한 나머지 변수들은 모두 지역변수이며, 멤버변수 중 static이 붙은 것이 클래스변수, 붙지 않은 것이 인스턴스변수다. 변수의 종류 선언위치 생성시기 클래스변수 (class variable) 클래스 영역 클래스가 메모리에 올라갈 때 인스턴스변수 (instance variable) 인스턴스가 생성되었을 때 지역변수 (local variable) 클래스 영역 이외의 영역 (메서드, 생성자, 초기화 블럭 내부) 변수 선언문이 수행되었을 때 1. 인스턴스변수(instance variable) 클래스 영역에 선언되며, 클래스의 인스턴스를 생성할 때 만들어진다..
텐서(Tensor) 파이토치의 기본 단위. 텐서를 사용하여 모델의 입력과 출력뿐만 아니라 모델의 매개변수를 부호화(encode)한다. GPU나 다른 연산 가속을 위한 특수한 하드웨어에서 실행할 수 있다. 텐서는 NumPy의 ndarray와 매우 유사하다. import torch import numpy as np x=torch.empty(5,4) print(x) torch.empty를 통해 크기가 5x4인 빈 텐서를 생성한다. 이때 초기화되지 않은 행렬인 경우 해당 시점에 할당된 메모리에 존재하던 값들이 초깃값으로 나타난다. 텐서 초기화 torch는 Pytorch를 사용하기 위한 기본 라이브러리다. torch.tensor()를 통해 텐서로 변환이 가능하다. 리스트, NumPy 배열, 다른 텐서로부터 텐서를..
최근 파이토치 책만 읽다가 오랜만에 나의 모국어같은 자바 책을 폈더니, 너무나 편안한 느낌이 들었다. 이제서야 부족했던 이론을 볼 준비가 된 것 같다. 그럼 시작하기에 앞서 여러분은 객체지향이론을 아는가? 세계는 사물로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다. 500년전 철학자나 할 소리인 이 말이 객체지향이론의 기본개념이다. 이 개념을 적용한 객체지향언어 자바의 클래식한 멋을 느껴보시길. 시작하자. Java Write once, Run anywhere JVM (Java Virtual Machine) JVM은 플랫폼 독립적으로, JVM이 실행 가능한 환경이라면 어디서든 Java 프로그램이 실행될 수 있도록 한다. 즉, Java의 모토인 Write once, Run anywhere는..
비지도 학습(Unsupervised learning) 정답을 알려주지 않아도 여러 데이터 속에서 관계나 패턴을 찾아 스스로 학습하는 방법. 레이블(정답)이 없는 데이터를 비슷한 것들끼리 묶을 때 많이 사용. ex) 뉴스 주제에 따른 분류, 소비자 구매 성향 별 관리 지도 학습 (Supervised learning) 인공지능에게 정답을 알려주어 학습시키는 방법. ex) 가까운 미래 날씨 예측, 가격 예측, 스팸 메일 분류, 질병 판단 기본적인 지도 학습 과정 모델은 가중치와 편향을 통해 예측값을 산출하기 때문에 지도 학습의 목표는 학습을 통해 적절한 모델의 가중치와 편향을 찾는 것이다. 처음 학습 시에는 무작위로 가중치와 편향을 정하여 예측값을 산출한다. 따라서 예측값이 얼마나 정확한지를 판단할 필요가 있..