분류 전체보기 178

LeNet5

# Day_22_01_LeNet5.py import tensorflow as tf import numpy as np # LeNet5 모델을 구현해서, 최초 만들었던 cnn 모델과 정확도를 비교하세요 # summary 함수에서 출력한 total params 항목이 61,706으로 되어있는데 왜 그렇게 되는지 직접 계산해보세요 def LeNet5(): (x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data() x_train = x_train / 255 x_test = x_test / 255 # 4차원으로 변환 x_train = x_train.reshape(-1, 28, 28, 1) x_test = x_test.reshape(-1, 2..

인공지능/CNN 2020.12.04

노드 내장 알아보기 #1

너무 많아서 그냥 이런게 있구나 하고 넘어가면 됨 global 노드의 전역 객체 브라우저의 window같은 역할 => global, global this 모든 파일에서 접근 가능 window처럼 생략도 가능(console, require도 global의 속성) global 속성에 값을 대입하면 다른 파일에서도 사용 가능 -> 파일이 많아지면 어디서 썼는지 모르기 때문에 별로 좋지 않음 console 브라우저의 console 객체와 매우 유사 console.time, console.timeEnd: 시간 로깅 ( 두 개 사이의 코드 실행 시간을 알아볼 수 있다. ) console.error: 에러 로깅 console.log: 평범한 로그 console.dir: 객체 로깅 console.trace: 호출스택 ..

Node.js 2020.12.03

Logical Thinking. #2부_2

다양한 MECE 관점을 갖자 설명을 잘 하고 싶다면 한 가지 사항을 다양한 측면과 상황에서 설명하는 연습을 하자. 상대에게 어떤 관점에서 설명해야 가장 이해시키기 쉬울지를 자유롭게 선택할 줄 알기 때문이다. 한 조직에 오랫동안 소속돼 있다 보면 어떤 사안을 정리하거나 설명할 때 매번 똑같은 관점으로 하게 된다. 그렇게 되면 제3자는 알 수도 없고 이해하기 힘든 경우가 생긴다. 어떤 일이나 상황을 MECE로 정리하는 관점의 기준은 다양하게 알수록 그만큼 상대를 설득할 수 있는 자유로운 선택지가 늘뿐만 아니라 사물을 보는 신선한 시각을 열어주고 창조성을 자극한다. 알아두면 편리한 MECE 프레임워크 ( 몇가지 있지만 나는 나에게 필요한 것 빼고는 정리하지는 않을 것이다. 궁금하면 검색 해보자. ) 3C( 4..

REPL와 모듈

REPL이라는 콘솔 제공 R(Read), E(Evaluate), P(Print), L(Loop) 윈도에서는 CMD, 맥이나 리눅스에서는 터미널에 node 입력 창에 node입력시 프롬프트가 > 모양으로 바뀌면, 자바스크립트 코드 입력 가능 입력한 값의 결과 값이 바로 출력됨. 그렇지만 거의 안씀 너무 불편함 가독성도 떨어지고 나는 VSC 쓸 것임 모듈 잘게 짤라서 관리하게 쉽게 만들수 있음 노드는 자바스크립트 코드를 모듈로 만들 수 있음 모듈: 특정한 기능을 하는 함수나 변수들의 집합 모듈로 만들면 여러 프로그램에서 재사용 가능 // 각각 다른 파일 const odd = '홀수 입니다.'; const even = '짝수 입니다.'; module.exports = { odd, // key와 값이 같은 경우..

Node.js 2020.12.02

Logical Thinking. #2부_1

제 2부 논리적으로 사고를 정리하는 기술 먼저 1부에서 말했던 중복, 누락, 혼재를 방지하는 방법을 알아보자 1. MECE는 이야기의 중복, 누락, 혼재를 없애는 기술이다. 우리는 이야기에 대한 결론이 전체적으로 어떻게 완성됐는지 명확히 알고 있어야 중복, 누락, 혼재를 인식할 수 있다. 그러므로 누군가와 어떤 이야기를 나눌 때는 전체적인 핵심을 파악해두도록 한다. 그래야 상대가 제시한 이야기와 당신이 파악한 핵심을 서로 비춰보고 '이 내용은 겹친다', '이 점이 결여됐다.', '종류가 다른 이야기다' 하고 판별할 수 있다. 하지만 항상 핵심을 파악하고 있거나 주제에 정통할 수 는 없는 법이다. 주제나 영역 자체에 정통하지 않더라도 자신이 전하고자 하는 결론을 상대가 자연스럽게 이해할 수 있게 이야기에 ..

술어논리와 릴레이션의 연산 #1

명제란 ?? 명제란 어떤 사물에 관해 설명한 문장이 그 의미가 정확한지, 즉 참인지 거짓인지 물을 수 있는 것이다. 명제논리 어떤 명제의 참과 거짓을 알고 있을 때 다른 명제의 참과 거짓이 무엇인지 알아내는 데 특화된 학문 -> 이때 가장 중요한 것은 어떤 명제의 참과 거짓을 이용해 다른 명제의 참과 거짓을 증명할 때 중요한 것은 명제들의 참과 거짓 값뿐이며 명제가 가진 다른 의미는 아무런 영향을 끼지치 못한다. 보통 명제에서 첨과 거짓 이외의 의미를 제거하기 위해 명제를 P나 Q등의 기호로 표현한다. 연결자와 진리값 연결자는 일반적으로 논리연산이라고 불린다. P Q NOR AND OR IMP EQ NAND NOR XOR P Q ¬P P ∧ Q P ∨ Q P ⊃ Q P ≡ Q P | Q P ↓ Q P x..

DB/관계형 DB 2020.12.02

#2 (#1에서 했던) CNN 코드 Keras 사용해보기

각각의 주석이 #1에서 사용했던 것이고 그것을 keras를 이용해서 바꾼 코드입니다. import tensorflow as tf # compat 때문에 써줘야함 중간중간의 shape 추적하기 위해 # ph_x = tf.placeholder(tf.float32, shape=[None, 28, 28, 1]) # x_train 형식 # ph_y = tf.placeholder(tf.int32) # # c1 = tf.nn.conv2d(ph_x, # 행렬 곱셈이라고 생각하면 편함 # filter=w1, # strides=[1, 1, 1, 1], # 가온데 2개만 사용하고 앞(배치 size) 뒤(채널)는 사용 안함, 한번에 얼만큼 움직이는지 # padding='SAME') # 파라미터의 수를 줄여나가는 과정 = pa..

인공지능/CNN 2020.12.01

#1. CNN, Keras를 사용하지 않고 내부 살펴보기

주석에 부족한 내용이 있으면 물어보세요 CNN은 Convolution과 Pooling을 반복적으로 사용하면서 불변하는 특징을 찾고, 그 특징을 입력데이터로 신경망에 보내 Classification을 수행합니다. Convolution Layer : 필터를 통해 이미지의 특징을 추출. Pooling Layer : 특징을 강화시키고 이미지의 크기를 줄임 Padding은 Convolution을 수행하기 전, 입력 데이터 주변을 특정 픽셀 값으로 채워 늘리는 것입니다. # Day_21_01_CNNFirst.py import tensorflow.compat.v1 as tf tf.disable_eager_execution() # compat 때문에 써줘야함 이말은 3차원을 여러개 사용하는것 즉 4차원을 다루는 것이다..

인공지능/CNN 2020.12.01

자바스크립트 정리

구조 분해 할당 밑에는 구조 분해 예전과 현재 사용하는 걸 비교해보았다. // 이러한 상황이 많이 옴 const example = { a:123, b: {c:135, d: 146 } const a = example.a; const b = example.b.d; // 그래서 새로운 문법이 나옴 const { a, b: { d } } = example; // 기존 arr = [1, 2, 3, 4, 5] const x = arr[0] const y = arr[1] const z = arr[4] // 지금 const [x, y, .... , z] = arr; 객체를 사용하고 있을 때 만약 this를 사용하고 있으면 구조 분해하면 this를 사용하고 있는 쪽에서 문제가 발생하니 사용하면 안 된다. 클래스 클래스가..

Node.js 2020.12.01

Logical Thinking. #1부_3

설득력 없는 답변에 공통된 결함 이해하기 어렵거나 설득력이 없는 글에는 공통된 결함이 있다. 이것은 바로 '내용의 중복, 누락, 혼재'와 '내용의 비약'이다. 1. 이야기의 명백한 중복, 누락, 혼재 1) 이야기의 중복은 '머릿속이 뒤죽박죽'이라는 신호이다. 이야기가 중복된다면 듣는 사람 입장에선 '이 정도도 제대로 정리하지 못하고서 내린 결론을 과연 신뢰할 수 있을까? 뭔가 중대한 판단 오류가 있는건 아닐까?' 하는 의심이 들 수 밖에 없다. 2) 이야기의 누락은 '한 점 돌파, 전면 붕괴'로 이어진다. 이야기에 확실히 누락이 있는 데다가 왜 누락했는지 아무런 설명조차 없이 전달자가 자신의 생각이 타당하다고 주장하는 경우를 살펴보면 듣는사람은 누락의 문제를 자연히 불안감을 느끼게 된다. 그 결과 전달자..