전체 카테고리22 Tensorboard 에서 그래프 확인하기 텐서 보드에서 그래프를 보려면 아래 코드를 한 줄 추가해주면 됩니다. # FileWriter 를 통해 현재 그래프의 정보를 # 텐서 보드가 읽을 수 있는 형태의 파일로 저장합니다. tf.summary.FileWriter('./mygraph', sess.graph) 저는 이전 글에서 작성했던 Softmax 코드에 추가해보았습니다. with tf.Session() as sess: ... # 마지막에 한 줄 추가 tf.summary.FileWriter('./mygraph', sess.graph) 코드를 실행하고나면, mygraph 라는 폴더가 생깁니다. 이제 이걸 텐서보드에서 열어주면 됩니다. 터미널에서 아래 명령을 실행합니다. > tensorboard --logdir=mygraph 이제 6006 포트가 열리.. 2020. 10. 9. Softmax Classification 구현하기 모두를 위한 딥러닝 강좌 ML-lec/lab-6 내용을 요약한 글입니다. Softmax Classification - 여러개의 클래스 중 하나로 예측하는 것 - 둘 중 하나의 값으로 예측하는 Logistic regression (또는 Binary regression) 을 다차원 형태로 확장한 것 Logistic regression 이 Logistic regression 은 X 가 A 인지 아닌지, 둘 중 하나의 값으로 예측을 해준다. 만약 3개의 클래스 A, B, C 중 하나로 예측을 하고 싶다면, A 인지 아닌지, B 인지 아닌지, C 인지 아닌지 .. 이렇게 같은 연산을 3번 해주면 된다. Multinomial Classification 그런데 여기서 다차원 벡터의 곱을 활용하면 더 쉽게 연산이 가능.. 2020. 10. 8. [ML lec 01] 기본적인 Machine Learning 의 용어와 개념 설명 유튜브 성킴 교수님의 딥러닝 강의를 요약한 글입니다. 1. ML(Muchine Learning) 이란? 머신러닝은 일종의 소프트웨어 또는 프로그램이라고 할 수 있습니다. 우리가 흔히 사용하는 모바일 앱이나 웹 서비스를 개발하는 프로그래밍은 일반적으로 Explicit Programming 입니다. 즉, 입력을 기반으로 어떤 로직을 처리해서 결과를 보여주는 방식입니다. 그러나 이러한 프로그래밍 방식의 한계는 개발자가 일일이 어떤 상황에서 프로그램이 어떻게 동작할 것인가 하는 로직을 직접 작성해야하는데, 스팸 메일을 필터링하는 작업이나 자율 주행 자동차와 같이 너무 많은 상황과 rule 들이 존재 할 때 모든 상황을 고려하여 프로그래밍 하는게 어렵다는 것입니다. 그래서 등장한 것이 머신러닝입니다. 1959 년.. 2020. 10. 5. 13장. Rxjava 적용하기 커니의 코틀린 책의 내용을 요약한 글입니다. 1. Reactive Extensions 란? ReactiveX 라고도 부릅니다. reactive extensions 이벤트 기반 비동기 프로그래밍을 위한 라이브러리입니다. (RxJava, RxJS, RxClojure, RxSwift, RxScala 등 포함) 발생하는 이벤트를 스트림에 전달하고, 이 스트림을 관찰하다가 원하는 이벤트를 감지하면 동작을 수행하는 방식으로 동작합니다. 2. RxJava 란? 안드로이드를 포함하여 모든 자바 기반 플랫폼에서 사용할 수 있는 ReactiveX 라이브러리의 JVM 구현체 입니다. 1) 옵저버블(Observable) 옵저버블은 이벤트를 만들어(emit)내는 주체로, 스트림을 통해 만든 이벤트를 내보냅니다. 2) 옵저버(O.. 2020. 9. 25. 널이 될 수 있는 타입 / 될 수 없는 타입 커니의 코틀린 책의 내용을 요약한 글입니다. 자바의 널(null) 처리 프로그래밍을 하면서 가장 많이 마주치는 버그 중 하나로 NPE(null pointer exception) 를 들 수 있을 것입니다. 자바에서는 NPE 를 방지하기 위해 어노테이션의 도움을 받아 널 허용 여부를 다음과 같이 구분합니다. // 널 값을 허용 @Nullable String name; // 널 값을 허용하지 않음 @NonNull String name; 그러나 어노테이션으로 널 어용 여부를 확인하는 것은 Android Lint 와 같은 정적 분석 도구에서 지원하는 기능이기 때문에 여전히 NPE(null pointer exception) 가 발생할 여지가 있습니다. 위의 코드에서도 보다시피 NonNull 로 선언한 변수를 초기화.. 2020. 9. 22. 1.2 코틀린의 주요 특성 [1.2.3 함수형 프로그래밍과 객체지향 프로그래밍] 함수형 프로그래밍의 특성 1. 일급 시민(first-class) 함수 함수형 프로그래밍에서는 함수를 값처럼 다룰 수 있다. 함수는 다음과 같은 특성을 가진다. 함수도 타입을 가진다. 함수를 변수에 저장할 수 있다. 함수를 다른 함수에 인자로 넘길 수 있다. 함수가 함수를 반환할 수 있다. 함수를 List, Map 등 자료구조에 저장할 수 있다. 함수를 값처럼 사용할 수 있을 때, 코드 중복을 막고 더 강력한 추상화가 가능해진다. 다음 상황을 가정해보자. 비슷한 작업을 수행하는 아주 비슷한 두 개의 코드 조각이 있다. (컬렉션에서 조건을 만족하는 원소를 찾는 작업) 하지만 두 개의 코드 조각은 일부 세부 사항에서 차이가 난다. (만족시켜야하는 조건이 서.. 2020. 9. 21. [c++] fill 함수 - 배열 전체를 특정 값으로 초기화하기 배열 전체를 특정 값으로 초기화하는 방법으로 크게 세 가지를 들 수 있다. cstring 헤더에 있는 memset 함수 사용하기 for 루프 돌리기 algorithm 헤더에 있는 fill 함수 사용하기 이 중 가장 추천하는 방법은 3번, fill 함수를 사용하는 것이다. memset 함수는 코드 작성 시 실수를 범할 여지가 굉장히 많기 때문에 사용하지 않는 것이 좋다. for 루프를 돌며 원소 하나하나에 값을 직접 대입하는 방법이 가장 무난해 보이지만, fill 함수를 사용하면 훨씬 간단하고 안전하게 코드를 작성할 수 있다. fill 함수 범위 내의 원소를 val 값으로 채운다. 이때 범위는 [first, last) 이다. 즉, first 는 범위 내에 포함되고 last 는 포함되지 않는다. templa.. 2020. 8. 27. 이전 1 2 3 4 다음