전체 글 235

SPICE - Ngspice / inverter

SPICE (inverter) SPICE 파일 (.sp) 만들기 [Simulation input file] - 첫 라인은 반드시 주석으로 작성한다. - 라이브러리의 위치 지정 필요 [Condition] - option scale : spice simulation에서 사용할 길이 단위 - global VDD GND : 전역 노드로 'VDD'와 'GND'를 정의한다. 회로에서 전원 공급 및 전압을 나타내는 노드로 사용 - temp : 시뮬레이션을 위한 온도를 설정한다. 섭씨 기준으로 작성된다. [Input Signal] -input signal 입력 순서 : 입력신호이름 -> IN -> OUT -> IN과 OUT 사이 전압 Vdd VDD GND 3.3 //Vdd라는 input 전원 source 생성, VDD..

Display - LCD Module Structure / LCD Panel Structure

LCD Module Structure LCD panel : LCD 모듈의 핵심은 LCD pannel이다. 이것은 액정(liquid crystal)레이어와 TFT(thin-film transistor) 트랜지스터 배열로 이루어진 유리 또는 플라스틱 기판이다. TFT 트랜지스터 배열은 픽셀을 개별적으로 제어하며, 액정은 빛을 조절하여 화면에 이미지를 형성한다. - TFT-Array Substrate : 각 픽셀 하나에 TFT 트랜지스터가 연결되어 있으며, 픽셀의 색상과 밝기를 제어한다. 각 픽셀은 일반적으로 RGB 서브픽셀 중 하나에 해당하며, 각 서브픽셀에는 색상을 조절하는 각각의 TFT가 연결되어있다. Driving Circuit Unit - LCD driver IC chips : 화면 제어, 전원 관리..

Python - 예외 처리 / 내장 함수 / 외장 함수

05-4 예외 처리 오류 처리 예외 기법 - try, except문 오류 처리를 위한 try,except문의 기본 구조이다. try블록 수행 중 오륙가 발생하면 except 블록이 수행된다. 하지만, try 블록에서 오류가 발생하지 않는다면 except 블록은 수행되지 않는다. 위 구문을 보면 [ ] 기호를 사용하는데, 이 기호는 괄호 안의 내용을 생략할 수 있다는 관례 표기법이다. 오류 회피하기 try문 안에서 FileNotFoundError가 발생할 경우에 pass를 사용하여 오류를 그냥 회피하도록 작성한 예제이다. 05-5 내장 함수 내장 함수 (built-in functions) : python에는 기본적으로 제공되는 내장함수들이 들어있다. 이러한 함수들으니 python 인터프리터를 실행할 때 항..

Python - 모듈 / 패키지 / import

05-2 모듈 모듈 (module) 모듈이랑 함수나 변수 또는 클래스의 정의를 담고 있는 단일 파일이다. 모듈은 코드의 재사용과 구조화를 돕는데 사용된다. 모듈은 다른 파이썬 프로그램에서 불러와 사용할 수 있게끔 만든 파이썬 파일이라고도 할 수 있다. add,sub 함수가 있는 mod1.py를 만들고, C:\doit 디렉토리에 저장하면, mod1.py파일이 바로 모듈이다. (파이썬 확장자 .py로 만든 파이썬 파일은 모두 모듈이다.) 모듈 생성 및 사용 - 모듈 생성 : 파이썬 스크립트 파일을 만들고, 그 파일 내에서 변수,함수,클래스 등을 정의한다. 이 파일의 확장자는 '.py'여야한다. 예를 들어 "my_module.py"라는 파일을 만들고 그 안에 함수를 정의할 수 있다. - 모듈 사용 : 다른 파..

Python - 클래스 / 메서드 /생성자 / 상속 / 클래스 변수

05-1 클래스 클래스 선언 =를 사용하여 cal1,cal2라는 Calculator 객체를 만든다. class 객체를 만들면 동일한 동작에 대해서 여러개의 함수를 만들어 return값을 따로 저장하지 않아도 하나의 class 만으로 각각 연산해낼 수 있다. 다른 예시를 살펴보자. 만약 Cookie라는 class가 이전에 정의되었을 때 위와 같이 Cookie()의 결과값을 돌려받도록 a,b라는 객체를 만들어줄 수 있다. 마치 함수를 사용해서 그 결과값을 돌려받는 모습과 비슷하다. class로 만든 객체를 인스턴스라고도 하나 a자체는 객체라 표현하고, Cookie의 인스턴스로서 a를 설명할 때에만 인스턴스라는 단어로 표현하는 것이 자연스럽다. 객체에 숫자 지정 (사칙연산 예시) a객체에 대해서 사칙연산을 하..

Display - Display classification

Display Classification Direct view / Projection / Virtual Image - Direct View(직접적인 시각) : 물체 또는 장면을 바로 눈으로 보는 것을 의미한다. 즉, 물체에서 발생한 빛이 광학적 장치나 중간 매체 없이 눈에 직접 도달하는 것을 말한다. - Projection (투사) : 빛을 사용하여 이미지를 표시하거나 전달하는 기술을 의미한다. 일반적으로 프로젝트를 사용하여 벽이나 하얀 표면에 이미지를 투사하는 것이 흔한 예이다. 프로젝터는 빛을 렌즈나 미러를 통해 특정 방향으로 집중시켜 이미지를 만들어낸다. - Virtual Image (가상 이미지) : 실제 물체와 빛의 굴절 및 반사를 통해 형성된 것처럼 보이지만 실제로는 없는 이미지이다. 가상 이..

ML - CNN architectures(1) / AlexNet / ZFNet / VGGNet

CNN Architecture CNN Architecture LeNet-5 AlexNet AlexNet 앞,,,공식들로,,,한번,,,따라가보세유,,,,ㅎㅎㅎㅎㅎ 난귀차나~ 가장 윗줄부터 해석을 해보자면 227*227*3 차원인 input이 있었는데 이를 96개의 11*11 filter로 stride4,pad0으로 통과시켰을 때 55*55*96의 결과가 나온다. 위에서 보면 convolution과 pooling이 일정한 패턴 없이 뒤죽박죽이다. due date에 맞춰 hyperparameter의 하나인 filter size를 임의로 계속 조정하다보니 filter의 경향성이 규칙성 없이 중구난방해진 것이다! 마지막에서 넷째줄을 보면 6*6*256까지 만들어진 결과를 flatten시킨다. flatten 시킨 ..

카테고리 없음 2023.09.21

ML - CNN(2) / Pooling layer / max pooling

Pooling layer Pooling layer : Pooling layer는 입력 데이터의 공간적 차원을 줄이는 역할을 한다. 일반적으로 max pooling과 average pooling이 가장 많이 사용된다. pooling은 차원을 축소시키는 것이라 하였다. 위 예시를 보면 224*224 였던 차원이 풀링으로 인하여 112*112로 1/4배 줄어들었다. [pooling 특] - padding을 사용하지 않는다. - filter size와 stride size가 동일하다. Max Pooling pooling도 일종의 layer이기 때문에 filter의 개념이 있는데, pooling에서는 filter size와 stride size가 동일하다. 즉, overlapping 없이 연산이 진행된다. 겹쳐서..

ML - CNN / image 구성 / channel / filter / feature map / zero-padding

Introduction to CNN (Convolutional Neural Networks) Neural Networks : without the brain stuff CNN은 이미지 처리에 특화된 Neural Network이다. CNN을 다루기 전에 이전에 다뤘던 Neural Networks에 대해 복기해보는 시간을 가진다. NN의 가장 간단한 형태로 linear score function을 다룬 적 있다.윗 수식은 one layer, 두번째 수식은 two layer까지를 표현한다. 여기서 W(weight)를 어떻게 설정하냐에 따라 차원을 변경시킬 수 있다. weight를 거치며 3072차원 벡터가 100차원으로 바뀌고 weight2 matrx를 곱하고는 10차원이 되었음을 확인할 수 있다. 마지막 s..

ML - Transformer / Self-Attention / attention-weights / context vector / Residual connection

Transformer RNN Summary - Architecture design 관점에서 flexibility가 높다. - Vanilla RNNs가 가장 기본이나, 잘 동작하지 않는다. - RNN의 변형된 형태인 LSTM이나, GRU를 더 많이 쓴다. //gradient flow가 개선 (**GRU : LSTM의 성능을 유지하면서도 좀 더 simple하게 만들어진 아키텍처) - RNN의 단점은 gradient가 폭발하거나 소실된다는 것이다. exploding의 경우에는 gradient clipping이라는 기법으로 threshold를 넘지 못하게 하고, vanishing의 경우에는 truncated기법으로 input을 capacity 크기에 맞추어 잘라서 쓴다. Transformer : Self-Att..