반응형

2024/06 31

Fast Tokenizer

Slow Tokenizer와 Fast tokenizer'slow' tokenizer는 Transformers 라이브러리 내부에서 Python으로 작성된 것, 'fast' tokenizer는 Rust로 작성되어 Tokenizers에서 제공하는 것입니다. 단일 문장을 토큰화할 때 동일한 토크나이저의 느린 버전과 빠른 버전 간의 속도 차이가 항상 나는 것은 아닙니다. 사실, 빠른 버전은 실제로 더 느릴 수 있습니다. 많은 텍스트를 동시에 토큰화할 때만 차이를 명확하게 알 수 있습니다.   Batch Encoding토크나이저의 출력은 단순한 python 딕셔너리가 아닙니다. 우리가 얻는 것은 실제로 특별한 batch encoding 객체입니다. 빠른 토크나이저에서 주로 사용하는 추가 메서드가 있습니다. 병렬화(..

오토인코더(Auto Encoder) ・ Variational 오토인코더

오토인코더란 ? 오토인코더(AutoEncoder)란 입력이 들어왔을 때, 해당 입력 데이터를 최대한 compression 시킨 후, compressed data를 다시 본래의 입력 형태로 복원 시키는 신경망입니다. 이때, 데이터를 압축하는 부분을 Encoder라고 하고, 복원하는 부분을 Decoder라고 부릅니다. 압축 과정에서 추출한 의미 있는 데이터 Z를 보통 latent vector라고 부릅니다. 왜 이름이 오토인코더일까요 ? 다음 그림을 예시로 설명드리겠습니다. 위의 그림은 Auto Encoder의 결과를 시각화한 이미지입니다. 자세히보면 y축으로 두께가 변하고, x축으로는 기울기가 변하는 것을 확인할 수 있습니다. 이를 통해 이 모델의 latent vector는 두께, 회전, Class로 정의되..

[python] 1158. 요세푸스 문제

문제: https://www.acmicpc.net/problem/1158 풀이  리스트 회전을 구현하는 법을 알면 어려운 문제는 아니였습니다.# *** 으로 표시한 부분을 주의하여 구현하면 되는 문제입니다. # pop 해야 할 원소를 list의 가장 마지막으로 옮기고 pop = O(1)N, K = map(int, input().split())arr = [i for i in range(1, N+1)]idx = 0 # 제거될 사람의 인덱스 번호ans = []for i in range(N): idx = (idx + K-1) % len(arr) # *** ans.append(arr.pop(idx))ans[0] = ""print(*ans, sep= ', ')

[프로그래머스] level1. 크레인 인형뽑기 게임

문제:  https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이 문제의 풀이는 아래의 두 가지가 있습니다.비슷한 방법입니다. 행렬을 transpose하는 것이 아니라, moves에서 인덱스 값을 받아와서 처리합니다. def solution(board, moves): nrow, ncol = len(board), len(board[0]) stack = [] cnt = 0 for m in moves: # [1,5,3,5,1,2,1,4..

쿠버네티스(Kubernetes) ・ 도커(Docker)

쿠버네티스란 ? 쿠버네티스를 간단히 말하면, 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고 확장 가능한 오픈소스 플랫폼입니다. 일단 쿠버네티스가 무엇이고 등장 배경과 애플리케이션 배포 환경의 변화를 살펴보도록 하겠습니다. 애플리케이션 배포 환경의 변화 프로그램을 개발한 후, 사람들에게 서비스를 제공하려면 특정 서버에 본인이 만든 소프트웨어를 배포해야 합니다. 이 '배포' 방식의 변화 과정을 이해하는 것이 컨테이너, 도커, 쿠버네티스의 개념을 이해하는데 있어서 굉장히 중요합니다.   Container Deployment(컨테이너 배포) 시대로 오기까지의 여정  1. 전통적인 방식(Traditional Deployment)가장 오래되고 단순한 방식물리적인 컴퓨터 한 대에 하나의 OS를 설치하고..

Computer Science 2024.06.17

코딩 테스트 완전 정복 ・ 스택

스택의 ADT라는 것을 정의해보고 실제 스택이 동작하는 원리를 설명해보겠습니다.ADT는 abstract data type (추상 자료형)입니다. 추상 자료형이란 인터페이스만 있고 실제로 구현은 되지 않은 자료형 입니다. 언어에 따라 표준 라이브러리에서 스택 제공 여부는 다릅니다. 파이썬의 경우 스택을 제공하진 않지만 대안으로 리스트 메서드인 append() 메서드, push() 메서드로 스택을 대체할 수 있습니다. deque은 한쪽으로만 데이터 삽입, 삭제 할 수 있는 스택과는 다르게 양쪽에서 데이터를 삽입하거나 삭제할 수 있는 자료구조 입니다. 스택의 ADT(연산과 상태)스택 세부 동작에 대해 자세히 알아보기 스택에 데이터를 추가하는 경우를 생각해봅시다. 푸시 연산을 수행할 때  스택 내부에서 일어나는..

[프로그래머스] level2. 방문 길이

문제: https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  풀이  중복 경로의 길이를 제외한 움직인 경로의 길이를 반환 ***1. 중복 경로는 최종 길이에 포함하지 않음 = 중복 포함하지 않을 때 set() 사용 고려2. 음수 좌표 포함하지 않음 = 2차원 배열에서 음수 인덱스 사용 안함원점을 (0,0)에서 (5,5)로 바꿔도 됨 def is_valid_move(dx, dy): # 좌표평면을 벗어나는지 체크하는 함수 return 0

코딩 테스트 완전 정복 ・ 배열

my_list = [1, 2, 3]my_list = my_list + [4, 5] # [1, 2, 3, 4, 5]배열 선언일반적인 방법 arr = [0, 0, 0, 0, 0, 0] arr = [0] * 6 리스트 생성자를 사용하는 방법arr = list(range(6)) # [0, 1, 2, 3, 4, 5] 리스트 컴프리헨션을 활용하는 방법 arr = [0 for _ in range(6)] # [0, 0, 0, 0, 0, 0]  2차원 배열리스트 컴프리헨션을 활용하면 다음과 같이 선언할 수도 있습니다.# 크기가 3 * 4인 리스트를 선언하는 예arr = [[i]*4 for i in range(3)] # [[0, 0, 0, 0], [1, 1, 1, 1], [2, 2, 2, 2]]   1차원 배열이..

[프로그래머스] level1. 실패율

문제: https://school.programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   실패 코드 def solution(N, stages): answer = [] ans_dict = {} cnt = [0] * len(stages) # 나는 도전자를 이중for문을 돌면서 찾았는데 ... for i in range(len(stages)): # 0 1 2 3 4 5 6 7 for j in range(len(stages)): # 0 ..

[프로그래머스] level1. 모의고사

문제: https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이 오늘의 문제는 level 1문제입니다. 1번 수포자, 2번 수포자, 3번 수포자는 찍는 방식이 반복적이며가장 정답을 많이 맞춘 사람을 배열에 담아 return하는 문제입니다. 문제는 어렵지 않습니다.다음과 같은 방법으로 문제를 해결하면 됩니다. 1. answer와 각 사람의 답변을 매칭하여 맞았을 경우 score +12. 가장 많이 맞춘 사람 구해서 배열에 넣고3. 배열(정답) 출력 ! ..

728x90
반응형