본문 바로가기

전체 글

(594)
single floating point
[Basic] avx 1. avx실행가능 확인 AVX (Advanced Vector eXtensions) 란? AVX는 Advanced Vector eXtensions의 약자로 2008년 4월 인텔 개발자 포럼에서 x86 SIMD Instruction Set로 SSE Instruction Set series의 후속작이다. 2011년에 출시된 Intel SandyBridge microarchitecture 부.. corona-world.tistory.com How to tell if a Linux machine supports AVX/AVX2 instructions? I'm on SUSE Linux Enterprise 10/11 machines. I launch my regressions to a farm of machines..
windows에서 linux명령어 사용 Windows 10에서 Linux Bash 명령어 사용하기 Windows 10까지 올라오면서 이미 됐어야 했던 Linux명령어 사용이 Windows 10에 와서 지원하게 되었습니다. Linux를 공부하시는 분들은 Linux의 구조를 알아야 하니 멀티 OS를 돌리셔야 하겠지만, 따로 명�� tysct.tistory.com
load, store 명령어 / 메모리 계층 메모리 계층(Memory Hierarchy) 메모리 종류 : 1. 메인(Main) 메모리 : 램(RAM) (D램) 2. 레지스터(Register) : CPU 안에 내장되어 있어서 연산을 위한 저장소 제공 3. 캐쉬(Cache) : S램. CPU와 램사이에서 중간 저장소 역할 4. 하드디스크(H.. dakuo.tistory.com 메모리 종류 : 1. 메인(Main) 메모리 : 램(RAM) (D램) 2. 레지스터(Register) : CPU 안에 내장되어 있어서 연산을 위한 저장소 제공 3. 캐쉬(Cache) : S램. CPU와 램사이에서 중간 저장소 역할 4. 하드디스크(Hard Disk)와 이외 장치 : 하드 디스크, I/O 장치 등등 메모리들은 프로그램이 실행하는 동안 데이터의 입력 및 출력을 담당한..
[vs code] 실행 오류
[vs code] 초기화 VS CODE 완전 초기화 / 리셋 하기 VS CODE로 열심히 프로그래밍을 하다보면 VS CODE가 이상해질때가 있다. F5를 눌러서 실행시켜도 무반응이라던지, 모듈을 찾지 못한다던지.. 먼저 실행중인 VS CODE를 종료해준다. 그리고 파일 탐색기� study.ryuss.com VScode 초기화 시키기(완전 삭제) 안녕하세요 바람코코 입니다 오늘할 공략은 F5 눌렀는데 ~~ 경로에서 doesn't exist 가 나올 때가 있는데요. 어떤 lunch.json를 설정하라고 나오는데 어떻게 건드리는 건지 모르겠어서 초기화를 시켜� oneday-haru.tistory.com C:\사용자(user)\이름(Administrator)\AppData\Roaming\Code Code폴더를 지운 후 -> .vscod..
비트 연산
cmake란? CMake 란 CMake는 다양한 빌드(Build) 도구 중 하나 이다. - Build 도구 없이 IDE를 통해 빌드하고 배포할 때 발생하는 가장 큰 재앙은 운영환경에 배포되는 version이 개발자의 PC 에 의해 결정된다는 것 --> 다양한 운영체제에서 문제없이 빌드하기 위해 필요함. cmake의 gui는 명료하다. 상단에 Source file이 들어있는 src 폴더를 지정하고, Build 할 경로폴더를 지정한 뒤, 하단의 Generate을 하면 1차 생성, 그리고 Configure 을 하면 완료된다. Generate 할 때, VS version을 맞춰서 설정해야 하고, Open project를 해서 Visual studio에서 최종 빌드를 한다. - Github의 source code를 빌드하기 위..
[vs code] 설치 vscode는 특정 언어를 위해 만들어진게 아니라 범용 편집기이기 때문에 코드만 짠다고 바로 돌릴순 없다. 코드를 빌드할 컴파일러와 옵션을 지정해줘야 한다. 이를 위해 tasks.json 파일을 작성한다. 빌드 커맨드가 g++을 직접 사용하기 때문에 cpp 파일을 하나밖에 빌드할 수 없다. 소스 파일이 다수가 되면 tasks.json에서 어떻게 빌드한단 말인가? vscode 설정 방법을 검색해보면 다 저렇게 나오는데 나도 속을 뻔했다. (그렇지만 2. Configuration에서 쓴 내용은 command 설정만 빼고 나머진 유효하다.) 다수의 소스 파일을 빌드하기 위해서는 최소한 Make가, 좀 더 수월하게 하려면 CMake까지 필요하다. vscode가 Visual Studio처럼 빌드 도구까지 제공하진..
Gradle Gradle을 이용해 자바 프로젝트 만들기 이 포스트를 이용해 Gradle 자바 프로젝트를 생성하는 법을 알아 보도록 하겠다. 예상 독자 이 포스트의 독자들은 자바 개발 환경 설정을 마친 상태이며, 각자 원하는 IDE를 다운로드한 상태이다 imasoftwareengineer.tistory.com Gradle 그래들이란 오픈소스 빌드 자동화 툴이다. 이게 무슨 말이냐, 여러분은 자바 프로젝트를 하면서 외부 라이브러리르 갖다 쓴 적이 있을 것이다. 그 때마다 여러분은 외부 라이브러리 jar파일을 가져와 Classpath에 추가해야 했을 것이다. 외부 라이브러리가 1개라면 상관 없겠지만 100개 1000개라면 인간이 직접 관리하기에는 너무 많은 양일 것이다. 그래들은 여러분이 jar파일을 추가하는 대신 해당 ..
Docker 설치하기 / 스프링 부트 도커에 올리기 도커(Docker) 설치하기 이 포스트에서는 도커(Docker)에 대해 알아보고 도커를 설치하는 방법에 대해 알아보도록 한다. 목표 도커 (Docker) 도커 설치 및 실행 도커 (Docker) 도커는 몇 년 전부터 붐을 일으키기 시작해 이제� imasoftwareengineer.tistory.com 예를들어서 15개의 마이크로 서비스들이 15개의 팀에 의해 개발된다고 치자. 이 15개의 서비스들이 하나의 어플리케이션을 구성한다. 이런 서비스들의 예로는 Authentication Service, Database Service, Application Services, Tracking Services등등이 있다. 다시 말해 하나의 어플리케이션이 정상적으로 동작하기 위해서는 여러가지 서비스의 협력이 필요하다는..
Docker란? 초보를 위한 도커 안내서 - 도커란 무엇인가? 도커를 처음 접하는 시스템 관리자나 서버 개발자를 대상으로 도커 전반에 대해 얕고 넓은 지식을 담고 있습니다. 도커가 등장한 배경과 도커의 역사, 그리고 도커의 핵심 개념인 컨테이너와 이 subicura.com 도커란? 도커는 컨테이너를 관리하는 플랫폼 도커는 컨테이너 기반의 오픈소스 가상화 플랫폼입니다. 컨테이너라 하면 배에 실는 네모난 화물 수송용 박스를 생각할 수 있는데 각각의 컨테이너 안에는 옷, 신발, 전자제품, 술, 과일등 다양한 화물을 넣을 수 있고 규격화되어 컨테이너선이나 트레일러등 다양한 운송수단으로 쉽게 옮길 수 있습니다. 서버에서 이야기하는 컨테이너도 이와 비슷한데 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공..
cache 캐시[Cache]란? 프로그램이 수행될 때 나타나는 지역성을 이용하여 메모리나 디스크에서 사용되었던 내용을 특별히 빠르게 접근할 수 있는 곳에 보관하고 관리함으로써 이 내용을 다시 필요로할 때 보다 빠르게 참조하도록 하는 것이다. 쉽게 풀어서 설명하면 사용되었던 데이터는 다시 사용되어 질 가능성이 높다는 개념을 이용한 것이다. 이를 통해서 다시 사용될 확률이 높은 아이들을 좀 더 빠르게 접근 가능한 저장소를 사용한다는 개념이다. 캐시(cache, 문화어: 캐쉬, 고속완충기, 고속완충기억기)는 컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 캐시는 캐시의 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하고 싶은 경우에 사용한다. 캐..
객체 지향 프로그래밍 객체 지향 프로그래밍(OOP)이 뭐에요? 객체 지향 프로그래밍은 컴퓨터 프로그래밍 패러다임중 하나로, 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. => 결국 객체 지향 키워드 5가지와 관련된 내용과 장단점을 알고 있는지에 대한 질문 객체 지향 프로그래밍의 장, 단점 간단하게 설명해주세요 - 장점 ▶코드 재사용이 용이 남이 만든 클래스를 가져와서 이용할 수 있고 상속을 통해 확장해서 사용할 수 있음. ▶유지보수가 쉬움 절차 지향 프로그래밍에서는 코드를 수정해야할 때 일일이 찾아 수정해야하는 반면 객체 지향 프로그래밍에서는 수정해야 할 부분이 클래스 내부에 멤버 변수혹은 메서드로 있기 때문에 해당 부..
context switching 멀티프로세스 환경에서 CPU가 어떤 하나의 프로세스를 실행하고 있는 상태에서 인터럽트 요청에 의해 다음 우선 순위의 프로세스가 실행되어야 할 때 기존의 프로세스의 상태 또는 레지스터 값(Context)을 저장하고 CPU가 다음 프로세스를 수행하도록 새로운 프로세스의 상태 또는 레지스터 값(Context)를 교체하는 작업을 Context Switch(Context Switching)라고 한다. Context는 무엇인가? 사용자와 다른 사용자, 사용자와 시스템 또는 디바이스간의 상호작용에 영향을 미치는 사람, 장소, 개체등의 현재 상황(상태)을 규정하는 정보들을 말한다. android나 servlet등에서도 context가 있지만 OS에서 Context는 CPU가 해당 프로세스를 실행하기 위한 해당 프로세스..
[vs code] 주석 단축키
[Linux] gcc와 리눅스 커널 GCC는 컴파일러입니다. 컴파일러의 패스를 보면 쉽게 쉽게 이해 됩니다. 전처리기 -> 컴파일러 -> 어셈블러 -> 링커 이 과정으로 되는 것을 GCC 하나로 모두 진행 시켜서 소스 파일을 실행 파일로 생성 시켜 줍니다. 전처리기는 cpp(C pre processor) 이며, 소스 파일의 주석 제거 및 define을 치환하는 기능 등을 합니다. 그다음은 cc 이며, C Compiler 입니다. 이것은 전처리기를 거친 소스 파일을 어셈 파일로 변환합니다. 그다음은 as 이며, assmeber 입니다. 이것은 에셈파일을 오브젝트 파일로 변환해주십니다. 마지막으로 ld 이며, linker 입니다. 이것은 오브젝트 파일들을 묶어서 실행 파일로 변환해 줍니다. 컴파일러 호환성 GCC는 리눅스 커널 소스의 기본 컴..
Quantization Quantization - Neural Network Distiller Quantization Quantization refers to the process of reducing the number of bits that represent a number. In the context of deep learning, the predominant numerical format used for research and for deployment has so far been 32-bit floating point, or FP32. H nervanasystems.github.io 텐서플로우에서의 양자화 (Quantize) 시키는 방법 [이글은 https://www.tensorflow.org/performance/q..
[ML] Supervised/Unsupervised learning classification logistic - softmax(multi variable) - sigmoid(binary variable ) regression linear(binary, multi variable)
[ML] Activation function 활성(화)함수란 입력을 받아 활성, 비활성을 결정하는데 사용되는 함수이다. 문제의 결과가 직선을 따르는 경향이 있다면 선형함수를 주로 이용한다. 2개를 분류하는 문제일 때는 Vanishing Gradient Problem때문에 sigmoid는 잘 사용하지 않고 ReLU와 그 변형된 활성화함수를 주로 이용한다. 3개 이상을 분류할 때 주로 Softmax와 그 변형된 활성화함수를 주로 이용한다. sigmoid 함수(2개 이하의 class)의 일반화 -> softmax (3개 class 이상일 때) we can consider the softmax function as a generalization of the sigmoid function that allows us to classify more than t..
[ML] CNN(Convolutional Neural Network) deep learning -> cnn CNN 관련 내용 기계 학습(Machine Learning, 머신 러닝)은 즐겁다! Part 3 딥러닝(Deep Learning)과 컨볼루션 신경망(Convolutional Neural Network 또는 CNN) medium.com [CS231n] 강의노트 : CNN (Convolutional Neural Networks) 목표 taeu.github.io A Comprehensive Introduction to Different Types of Convolutions in Deep Learning Towards intuitive understanding of convolutions through visualizations towardsdatascience.com 일..
[ML] Backpropagation backpropagation did not work well for neural nets with many layers. 미분이 의미하는 바? 영향을 미치는 정도 w 값이 1만큼 올라가면 5배 영향을 미친다. 2 * 5 / 3 * 5 [Deep Learning이란 무엇인가?] Backpropagation, 역전파 알아보기 이번 포스팅에서는 저번 포스팅에 이어 에 대해서 알아보려고 한다. 앞서 설명했듯, 이 알고리즘으로 인해 에서의 학습이 가능하다는 것이 알려져, 암흑기에 있던 학계가 다시 관심을 받게 되었 evan-moon.github.io Machine learning 스터디 (18) Neural Network Introduction - README 들어가며 최근 Machine Learning 분야에서..
[ML] Machine Learning training 1. 머신러닝 training forward되는 모델 하지만 이것은 정제된 데이터만을 학습할 수 있다. 딥러닝은 이러한 과정을 데이터에 상관없이 할 수 있다.(cnn) forward는 wx+b 아래는 마지막 단계인 activation 단계이다. 1) linear regression 2) logistic classification(regression) 결과값이 0과 1일 경우 linear regression이 맞지 않는다. 예측(linear regression, logistic classification 사용)을 했으면 cost를 구하고 이를 minimize해줘야 한다. training 과정 forward(wx+b) ->activation(regression, classification) -> comput..
[ML] AI, Machine Learning, Deep Learning 머신 러닝이란? 인공지능의 하위 집한 개념인 머신러닝은 정확한 결정을 내리기 위해 제공된 데이터를 통하여 스스로 학습할 수 있습니다. 처리될 정보에 대해 더 많이 배울 수 있도록 많은 양의 데이터를 제공해야 합니다. 즉, 빅데이터를 통한 학습 방법으로 머신러닝을 이용할 수 있습니다. 머신 러닝은 기본적으로 알고리즘을 이용해 데이터를 분석하고, 분석을 통해 학습하며, 학습한 내용을 기반으로 판단이나 예측을 합니다. 따라서 궁극적으로는 의사 결정 기준에 대한 구체적인 지침을 소프트웨어에 직접 코딩해 넣는 것이 아닌, 대량의 데이터와 알고리즘을 통해 컴퓨터 그 자체를 ‘학습’시켜 작업 수행 방법을 익히는 것을 목표로 한답니다. 딥 러닝이란? 딥 러닝은 인공신경망에서 발전한 형태의 인공 지능으로, 뇌의 뉴런과 ..