전체 글
-
NeetCode 217. Contains DuplicateNeetcode 2023. 8. 19. 00:53
문제 Given an integer array nums, return true if any value appears at least twice in the array, and return false if every element is distinct. Example 1: Input: nums = [1,2,3,1] Output: true Example 2: Input: nums = [1,2,3,4] Output: false Example 3: Input: nums = [1,1,1,3,3,4,3,2,4,2] Output: true Constraints: 1 bool: visited = set() dup = [x for x in nums if x in visited or (visited.add(x) or Fa..
-
[5] Image as a Foreign Language: BEIT Pretraining for All Vision and Vision-Language Tasks(BEiT-3)논문 공부 2022. 11. 3. 03:08
Abstract 해당 논문은 기존의 CNN을 활용한 image detection, segmentation 부분을 Transformer 기반으로 대체할 수 있는 논문이다. 상단의 도식은 논문 전문에 있는 도식으로 한가지 모델로 여러 가지 부분의 Task를 수행할 수 있음을 보여주며, 여러 가지를 한 모델에서 할 수 있음에도 기존의 SOTA 대비 월등한 성능을 보여줌을 알 수 있다. Introduction Introduction의 주요 요지는 최근 몇년간 language, vision, multimodal Problem이 같은 곳을 향해 가고 있다는 점이다. 이는 한 가지 모델로 language, vision, multimodal Problem을 동시에 수행할 수 있는 이유가 된다. 그에 대해 조금더 자세히..
-
-
-
소프트웨어 아키텍처 패턴 (SW Architecture pattern)디자인패턴 2022. 8. 3. 13:16
1. Architecture pattern 이란 주어진 상황의 소프트웨어 구조에서 발생하는 문제점을 해결하기 위한 일반화된 재사용 가능한 솔루션 아키텍처 패턴은 디자인 패턴보다 더 큰 범주에 속해 있으며 소프트웨어의 전체적인 그림을 만드는 솔루션이라 할 수 있습니다. 기존에 아키텍처 패턴이 정립되지 않고 설계를 하다 보니 개발자간 소스 파악이 너무 힘들고 약속이 제대로 되지 않았습니다. 아키턱처 패턴은 소프트웨어 설계의 기본이며 자주 사용되는 모형들을 정립한 하나의 약속이라고 볼 수 있습니다. 2. design pattern 종류 1) 레이어 패턴 레이어 패턴은 n-티어 아키텍처 패턴이라고도 불리며, 이는 각 모듈들을 그룹으로 나눌 수 있는 프로그램에서만 사용할 수 있습니다. 각 계층들은 다음 상위 계층..
-
Assertion fctx->async_lock failed at libavcodec/pthread_frame.c 오류 해결에러해결 2022. 8. 3. 11:31
나같은 경우에 메인스레드 -> view , 서브스레드 -> view내부 동영상 재생의 역할을 했었는데, 메인스레드에서 서브스레드 내부의 함수 next_video() 함수를 실행시키려했을때 해당 오류가 났었다. 이를 해결하기 위해서 메인스레드와 서브스레드에서 같이 사용할 수 있는 전역변수를 하나 flag로 만들어서 실행시키고 싶을때 flag를 변경하고 서브스레드에서 해당 flag를 받아와서 해당 함수를 실행시키도록 했다.
-
[4]CYCLEGAN - Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks논문 공부 2022. 5. 25. 15:41
상단의 그림이 CycleGan하면 떠오르는 가장 유명한 그림입니다. 기존의 Gan과 다르게 CycleGan은 unpaired data에 대한 학습이 가능하며, 원본그림 -> 변환그림 -> 원본그림의 형태로 순환이 가능한것이 가장 큰 특징입니다. CycleGan의 기본적인 모델 구조는 다음 그림과 같이 Generator 2개, Discriminator 2개로 구성되어 있습니다. 각 X와 Y는 데이터셋을 의미 합니다. X -> Y로 가는 G는 X의 데이터를 Y로 변환하는 Generator이고, Y -> X 로가는 F는 Y의 데이터를 X로 변환하는 Generator입니다. 그리고 Dx와 Dy는 각각 X와 Y데이터셋에 대한 Discriminator입니다. CycleGan의 Loss Function 1) Adve..
-
[3]GAN-Generative Adversarial Nets논문 공부 2022. 4. 11. 14:06
GAN GAN은 Generative Adversarial Nets의 준말로써 생성적 적대 네트워크 입니다. GAN은 기존의 CNN과 달리 두개의 모델을 학습시키며 각 모델은 Generator와 Discriminator로 나누어져있습니다. 우선 Generator는 랜덤으로 생성한 noise를 input으로 하여 Real data와 유사한 이미지를 생성하도록 학습하며, Discriminator는 Real data와 Generator가 생성한 데이터중 랜덤데이터를 Input으로 받아 Real data인지 Generated data 인지를 판별하도록 학습합니다. 상단이 GAN이 학습을 진행하는 프로세스입니다. 해당 프로세스에서 초반의 Generator는 Real data를 모방하는 품질이 좋지 않을테니 Disc..