key= 매개변수는 sorted() 함수 또는 다른 정렬이 가능한 함수에서 정렬 기준을 설정하기 위해 사용 원소들을 그 자체 값이 아닌 특정 기준에 따라 정렬하고 싶을때 사용 ex.숫자의 경우 크기 순서, 문자열의 경우 알파벳 순서(key 사용x), 문자열을 그 길이에 따라 정렬하고 싶다면 key=len을 사용하여 len 함수를 정렬 기준으로 설정 lambda x: x는 "x를 받아서 x를 반환하는 함수 lambda x: x는 원소를 그 자체 값에 따라 정렬할 때는 필요 없으며, 보다 복잡한 데이터 구조에서 특정 속성이나 값에 따라 정렬하고자 할 때 사용 number_tuples[x]: number_tuples 리스트의 x번째 원소에 접근하려 할 때 사용됩니다. (number_tuples[x]와 같은 표..
JPA란? Java persistence API는 자바의 ORM 기술의 표준이다 ORM란? Object-Relational Mapping ORM(Object-Relational Mapping) 프레임워크는 객체 지향 프로그래밍 언어와 관계형 데이터베이스 간의 불일치를 해결하기 위한 기술입니다. 즉, 객체와 데이터베이스 간에 매핑 작업을 자동으로 수행해줌으로써, 객체 지향 프로그래밍에서 사용되는 객체와 관계형 데이터베이스의 데이터 모델 사이의 불일치를 해결해줍니다. ORM 프레임워크를 사용하면, 객체를 데이터베이스에 저장할 때 객체를 SQL 쿼리로 변환하는 작업을 개발자가 직접 수행할 필요가 없습니다. 대신 ORM 프레임워크가 객체와 데이터베이스 간의 매핑을 자동으로 수행합니다. 이를 통해 개발자는 객체 ..
@Transactional Spring Framework에서 제공하는 트랜잭션 처리를 위한 애노테이션 -> 데이터베이스 작업을 하나의 트랜잭션으로 묶어서 처리 ex1.회원가입을 처리하는 메소드에 @Transactional이 있다면, -> 회원 정보를 저장하는 데이터베이스 작업이 트랜잭션으로 묶여서 처리 -> 회원 정보 저장 작업 중 어떤 문제가 발생하면, 트랜잭션이 롤백되어 이전 상태로 되돌아 ex2. 은행 계좌 이체를 수행하는 경우 -> 계좌 이체 작업은 출금/입금 두개의 작업으로 되어있음 -> 두 작업이 모두 성공해야만 계좌 이체가 완료 -> 출금 작업과 입금 작업을 하나의 트랜잭션으로 묶어서 실행 트랜잭션이란? 데이터베이스에서 수행되는 작업의 논리적인 단위를 말합니다. 데이터베이스에서 작업을 수행할..
객체지향 프로그래밍 객체(object)를 중심으로 프로그래밍을 구성,모듈화와 추상화를 강조 객체 간의 상호작용을 통해 프로그램을 구현합니다. 객체 지향 프로그래밍은 캡슐화(encapsulation), 상속(inheritance), 다형성(polymorphism) 등의 개념을 활용하여 프로그램을 구조화하고, 객체의 재사용성과 확장성을 높입니다. 절차지향 프로그래밍 절차지향 프로그래밍은 데이터와 처리 방법을 분리하여 프로그래밍을 구성,순차적인 처리를 강조 데이터는 전역 변수와 지역 변수로 구성되며, 함수(function)를 통해 데이터를 처리합니다. 절차지향 프로그래밍은 순차적으로 실행되는 일련의 단계로 이루어져 있으며, 이를 통해 프로그램을 구조화합니다.
캡슐화 public class Animal { public void move() { System.out.println("움직입니다."); } } public class Bird extends Animal { @Override public void move() { System.out.println("날아갑니다."); } } 객체의 속성과 메서드를 하나의 단위로 묶고, 외부에서 직접 접근하지 못하도록 보호하는것. 이를 통해 객체의 내부 구조를 숨길 수 있으며, 객체간의 상호작용은 객체의 인터페이스를 통해서만 가능 연관있는 메소드를 모아서 응집도를 높이고, 연관있는데 메소드를 모음 상속 부모 클래스가 가진 속성과 메서드를 자식 클래스가 물려받는것. 이를 통해 자식 클래스는 부모 클래스의 기능을 확장하거나 수정..
네이버 edwith AI/딥러닝 입문을 위한 학습 콘텐츠 추천에 따른 수업 + 3BlueBrown 강의 https://www.edwith.org/hellodl101/lecture/103151 [모두를 위한 머신러닝/딥러닝 강의2] (https://deeplearningzerotoall.github.io/season2/lec_pytorch.html) 1. Tensor 문법 : https://colab.research.google.com/drive/1oXGdB4aPcGXDvvXRnovBg0UJbIS5c9eF#scrollTo=O6DUEZtGuYnv epoch : 전체가 한번 사용이 되면 한회 폭이 다 돌았다. batch size : 6만장을 한번에 사용 할 수 없어 잘라서 사용함(자르는 크기가 바로 batch..
yolo v3 github있는걸로 한번 해봤을때 주황버섯인형이 사람으로 가끔 나온다. 핸드폰 화면을 비줘서 했을때 판정을 한다 정확도가 좀 떨어지는것같아서 yolov3에서 yolov5로 변경하고 진행했다. 잘되는것같아서 이번엔 https://public.roboflow.com/object-detection/ 에서 labeling된 물고기 데이터를 가져와서 customized 해보았다. → \yolov5\data\coco128 의 class의 nc수와 names 변경 및 data path변경 학습을 되었지만 detect 데이터셋을 물고기를 가져와야하나 잘못 가지고 와서 detect하고 있었다.. → weight가 초기에 yolov5s로 세팅이 되어있어서 학습된 최고의 weight 결과값인 best.pt를 ..
train 결과에 적혀있는 각 요소들의 의미 train set : 2576개, validation set : 736개 인데 왜 train시에 train set : 322개, validation set: 46개가 뜰까? → batch size가 8이여서 나눈 수로 epoch을 돌기 때문 train set : 2576 = (322x8), val set : 736 = 46x16(당시 val은 16으로 했다..) 각 epoch당 train 한번(보라색), validation 한번(노란색) 진행되는데, validation에 적힌 검사 요소들은 무엇을 뜻하는가? P: Precision(정밀도) 모델이 True라고 분류한 것 중에서 실제 True인 것의 비율 ex.날씨 예측 모델이 맑다로 예측, 실제 날씨가 맑았가 ..
기본 문법 : https://colab.research.google.com/drive/1oXGdB4aPcGXDvvXRnovBg0UJbIS5c9eF#scrollTo=dYN_yvezZwmF [학습 단계] 라이브러리 가져온다 import (torch,torchvision,matplotlib) GPU 사용 설정 random value를 위한 seed 설정 학습에 사용되는 parameter 설정 learning_rate,training_epochs,batch_size,etc) 데이터셋을 가져오고(학습에 쓰기 편하게) loader 만들기 학습 모델 만들기(class CNN(torch.nn.Module)) Loss function(Criterion)을 선택하고 최적화 도구 선택(optimizer) 모델 학습 및 lo..