저번에 쓴 글에서는 오류가 있었던게 내가 직접 파일 시스템에 올렸었던게 적용이 되어있는 상태였다. 파일 시스템을 삭제 시킨 뒤에는 정상적으로 업로드 되지 않는 문제점이 있었다. tf model 로드 tf.model을 로드하는 방법으로 여러가지 방법이 있었다. 1. 로컬 저장소 const model = await tf.loadLayersModel('localstorage://my-model'); 2. indexedDB const model = await tf.loadLayersModel('indexeddb://my-model'); 3. HTTP const model = await tf.loadLayersModel('http://model-server.domain/download/model.json'); 4..
다음 사진은 tensorflowjs coverter로 변환한 후 저장된 모습이다. 모델을 웹상으로 업로드 하는 코드는 다음과 같다. Node.js로 실행할 때 파일 시스템에 직접 액세스 하는 방법으로 모델을 저장할 수 있다. await model.save('file:///path/to/my-model'); model을 로드하는 방법으로 tf.loadLayersModel api를 사용하였다. const model = await tf.loadLayersModel('localstorage://my-model-1'); 완성된 코드는 다음과 같다. await 문법을 사용하기 위해서는 async 예약어를 사용해주어야 한다고 한다. const express = require('express'); const tf = ..
pip install tensorflowjs 설치 중 cp949 에러가 발생하였다. UnicodeDecodeError: 'cp949' codec can't decode byte 0xed in position 23: illegal multibyte sequence 다른 블로그를 참고해보니 setup.py, site.py에 파일을 읽을 때 encoding=utf-8을 추가하면 된다고 했다. 나는 encoding=utf-8이 이미 추가 되어있는 상태였다. 제어판>>날짜,시간 또는 숫자 형식 변경>>관리자 옵션>>시스템 로컬 변경에서 Beta: 세계 언어 지원을 위해 Unicode UTF-8 사용을 체크해줬다. 이후 재부팅하니 정상적으로 설치되었다. tensorflowjs_converter --input_for..
express에서 mysql을 연동하기 위해 mysql을 설치하였다. mysql connection 생성 새로운 커넥션을 생성했다. - Connection Name : icelink - Username : hoyoung - password : 1234 하지만 비밀번호를 입력해도 Cannot Connect to Database Server, your connection attempt failed for user ~ 이라는 에러가 뜨며 접속되지 않았다. create user 'hoyoung'@localhost identified by '1234'; grant all privileges on *.* to hoyoung@'localhost'; 권한을 설정해줌으로서 해결되었다. express에서 database ..
URL 및 특정한 HTTP 메소드로 클라이언트의 요청에 앱이 응답하는 방법을 결정하는 것을 라우팅이라고 한다. app.METHOD(PATH, HANDLER) app은 express의 인스턴스이다. const express = require('express'); const app = express(); METHOD는 HTTP 메소드이며 GET, POST, PUT, DELETE 등이 있다. PATH는 서버에서의 경로를 말한다. HANDLER는 라우트가 일치할때 실행되는 함수이다. app.get("/", (req, res)=> { res.send("Got a GET request"); }); app.post('/', function (req, res) { res.send('Got a POST request')..
자바스크립트에서 html 요소를 가져와 사용하는 경우가 있는데 html 요소를 정리해보려고 한다. 1. tag 소스 코드에 주석을 삽입하는데 사용하며 주석은 표시되지 않는다. 2. 모든 html 파일은 선언으로 시작해야하며 문서 유형에 대한 브라우저의 정보를 나타낸다. 3. tag a 태그는 한페이지에서 다른 페이지로 연결하는데 사용되는 하이퍼링크를 정의하며 주요 속성으로 href 속성이 있다. 4. tag 약어를 정의할 때 사용하며 요소 위에 마우스를 가져갈때 약어의 대한 설명을 title 속성으로 표현한다. CSS is a language that describes the style of an HTML document. 5. tag 이미지 맵 내부의 area 영역을 정의하고 area 요소는 항상 ma..
자바스크립트에서 변수 선언은 var, let, const 키워드로 할 수 있다. 자바스크립트는 변수 선언이 런타임중에 일어나지 않고 함수, 변수 선언문을 먼저 실행하고 이를 호이스팅이라고 한다. 선언 단계를 통해 자바스크립트 엔진에 변수의 존재를 알린다. 암묵적으로 undefined을 할당해 초기화 한다. 초기화 단계를 통해 값을 저장하기 위한 메모리 공간을 확보한다. 재할당 var, let 키워드는 새로운 값을 재할당하는 것에 문제가 없다. const 키워드는 새로운 값을 재할당할 수 없다. var a = 10; a = 20; console.log("a is: ", a); // 20 let b = 10; b = 30; console.log("b is: ", b); // 30 const c = 10; /..
1. 보드판 생성 8 * 8 보드판을 만들기 위해 배열을 생성한다. board = [] for i in range(8): boardTemp = [] for j in range(8): boardTemp.append(0) board.append(boardTemp) 2. 기본 돌 세팅 othello 게임을 보면 기본 세팅이 되어있는 상태로 나온다. halfWidth = int(len(board) / 2) - 1 halfHeight = int(len(board[0]) / 2) - 1 board[halfWidth][halfHeight] = 1 board[halfWidth][halfHeight+1] = 2 board[halfWidth+1][halfHeight] = 2 board[halfWidth+1][halfHei..
Simple Convolution Network 나머지 함수들 전체 코드 def predict(self, x): for layer in self.layers.values(): x = layer.forward(x) return x def loss(self, x, t): """손실 함수를 구한다. Parameters ---------- x : 입력 데이터 t : 정답 레이블 """ y = self.predict(x) return self.last_layer.forward(y, t) def accuracy(self, x, t, batch_size=100): if t.ndim != 1 : t = np.argmax(t, axis=1) acc = 0.0 for i in range(int(x.shape[0] / ba..
아래 예제는 다음과 같이 CNN 모델을 구성하였다. Convolution Network Class 생성자 def __init__(self, input_dim=(1, 28, 28), conv_param={'filter_num':30, 'filter_size':5, 'pad':0, 'stride':1}, hidden_size=100, output_size=10, weight_init_std=0.01): filter_num = conv_param['filter_num'] filter_size = conv_param['filter_size'] filter_pad = conv_param['pad'] filter_stride = conv_param['stride'] input_size = input_dim[1] c..