![[PyTorch] 데이터 불러오기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblOMYF%2FbtsBr7voEz9%2FXEoc25kw3OOQAHXmNMm1lk%2Fimg.png)
PyTorch Data Preprocess import torch from torchvision import datasets, transforms Import Error ImportError: cannot import name 'PILLOW_VERSION' from 'PIL' pillow 버전이 7.0.0 이상 일경우 Import 에러 나는 경우가 있습니다. 아래 처럼 pillow 버전을 내려주면 해결이 됩니다. $ pip install pillow==6.2.2 Data Loader 부르기 Pytorch는 DataLoader를 불러 model에 넣습니다. batch_size = 32 train_loader = torch.utils.data.DataLoader( datasets.MNIST('dataset/..

TensorFlow 2.0 import tensorflow as tf from tensorflow.keras import layers from tensorflow.keras import datasets Hyperparameter batch_size = 64 learning_rate = 0.001 dropout_rate = 0.7 input_shape = (28, 28, 1) num_classes = 10 Preprocess (train_x, train_y), (test_x, test_y) = datasets.mnist.load_data() train_x = train_x[..., tf.newaxis] test_x = test_x[..., tf.newaxis] train_x = train_x / 255. ..
![[JQuery] DataTables 사용 방법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqLptZ%2FbtsBrPnoICT%2FiJEebtjaVuo2rgok0TTD4k%2Fimg.png)
JQuery 용 테이블 라이브러리인 DataTables 플러그인을 사용하여 개발했을 경우 편리하게 사용하기 위해 구조를 설계하였습니다. DataTables는 데이터를 테이블로 쉽게 구현할 수 있도록 도와주는 라이브러리입니다. 설치와 사용법은 DataTables 공식 사이트에 잘 설명되어 있기 때문에 생략하겠습니다. 초기 설정 여러 곳에서 DataTables로 작업할 때 유용하도록 초기 기본값으로 설정하였습니다. // table.js $.extend($.fn.dataTable.defaults, { autoWidth: false, dom: ``, language: { emptyTable: '데이터가 없습니다.', infoEmpty: '', info: ' _TOTAL_ 개의 데이터가 있습니다.', search..
![[MySQL] Packet for query is too large 에러 발생시](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgzLCG%2FbtsBuaZ3dAi%2FxirHKy3l8kGNLm3KjArvLK%2Fimg.png)
MySQL을 사용하여 개발 중 4MB가 넘는 파일을 업로드 시 다음과 같은 패킷 에러가 발생하였다. com.mysql.jdbc.PacketTooBigException: Packet for query is too large (9,523,277 > 4,194,304). You can change this value on the server by setting the 'max_allowed_packet' variable 기본적으로 할당된 패킷 사이즈 값이 너무 작기 때문에 에러가 발생했기 때문에 수정이 필요하다. MySQL 설정에서 max_allowed_packet 값을 변경하여 해결하였다. max_allowed_packet은 서버로 질의하거나 받게 되는 패킷의 최대 길이를 나타내는 시스템 변수 다음은 해결방..
![[JAVA] 동네예보 조회서비스 API 사용 방법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FG4FKB%2FbtsBtI3gnjP%2FLicas4KKMBgiVqJ9epRRmK%2Fimg.png)
동네예보 조회서비스 동네예보 정보를 조회하기 위해 공공데이터 포털 사이트의 동네예보 조회서비스 API 사용 방법에 대해 알아보겠습니다. Open API 활용 방법 동네예보 조회서비스 사이트에서 활용신청을 하고 Service Key를 발급받습니다. 오픈 API 활용 가이드를 다운로드하여 조회 조건 및 결과 데이터를 이해합니다. 동네예보 데이터 조회 http://apis.data.go.kr/1360000/VilageFcstInfoService/getVilageFcst?ServiceKey={발급받은 Service Key}&pageNo=1&numOfRows=10&dataType=JSON&base_date={현재날짜}&base_time={현재시간}&nx={지점 X 좌표값}&ny={지점 Y 좌표값} 결과 데이터(J..
![[Eclipse RCP] 폴더안의 파일 리스트 읽기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcB1mX1%2FbtsBkj48weg%2Fjjb94xC8NYe34i48h39hZ1%2Fimg.png)
SWT의 DirectoryDialog를 이용하여 폴더를 읽고 폴더의 파일들을 읽어서 원하는 List의 형식으로 만듭니다. Shell shell = GUIUtil.getShell(); shell.getDisplay().asyncExec(() -> { DirectoryDialog dialog = new DirectoryDialog(shell); dialog.setMessage("Please select a directory and click OK"); String dir = dialog.open(); if (dir != null) { List mapImages = null; try { mapImages = Files.list(new File(dir).toPath()) .filter(file -> file.t..
![[Eclipse RCP] SWT에서의 GC, Drawable, Canvas 사용](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJpEC4%2FbtsBuoQOYTN%2FPNmMuDU8DM7z8IG5L04KNK%2Fimg.png)
addPaintListener() Control 객체가 그 객체의 paintEvent를 통하여 그림을 그릴 수 있지만, 이보다는 Control 클래스를 상속받아 그래픽 작업을 위해 설계된 특별한 클래스인 Canvas 클래스를 사용하여 그림을 그리는 것이 더욱 좋습니다. Canvas 클래스를 생성한 후 addPaintListener()를 통하여 paintListener를 추가하거나, 사용자가 직접 정의한 Control을 상속받음으로써 그림을 그릴 수 있습니다. Canvas 클래스는 그림을 그릴 때 사용할 수 있는 다양한 종류의 스타일 비트를 가지고 있습니다. SWT.NO_BACKGROUND Canvas의 기본적인 동작은 다음과 같습니다. 객체의 할당영역을 그리기 앞서, 객체에 할당된 전체 영역을 현재 배경..
![[JAVA] 농업기상정보 서비스 API 사용 방법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbsRBJV%2FbtsBmR8u6Qs%2F2T4pDdlKzFDMs8c6lQWQ0K%2Fimg.png)
농업기상정보 서비스 농업 관련 기상 데이터가 필요하게 되어 공공데이터 포털 사이트의 농업기상정보 API를 사용하여 조회하였습니다. Open API 활용 방법 농업기상정보서비스 사이트에 접속합니다. 이용방법에 따라 회원가입 후 Open API 신청을 하고 Service Key를 발급받습니다. 활용 가이드를 다운로드하여 조회 조건 및 결과 데이터를 이해합니다. 농업 기상 데이터 조회 http://weather.rda.go.kr/openapi/realtime_openapi_xml.jsp?mberid={id}®ist_ky={발급받은 Service Key} 결과 데이터(XML 형식) 380959A001 충주시 달천동 2020/07/31 14:50 28.3℃ 29.7℃ 22.5℃ -℃ -℃ -℃ -℃ -℃ -..
![[JAVA] OpenWeather API 사용 방법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FENDE1%2FbtsBo9nt6BY%2FDm9kXlVl47n07iJMPAQ4zk%2Fimg.png)
OpenWeather API 200,000 개가 넘는 도시를 포함하여 지구상의 모든 위치에 대한 현재 날씨 데이터에 액세스 할 수 있습니다. 현재 날씨는 글로벌 모델과 4만 개가 넘는 기상 관측소의 데이터를 기반으로 자주 업데이트됩니다. 데이터는 JSON, XML 또는 HTML 형식으로 제공됩니다. 출처 : OpenWeather OpenWeather API를 사용하여 현재 날씨 데이터를 조회하였다. 현재 날씨 데이터 조회 OpenWeather 사이트에 접속해서 API Key를 발급받는다. 메인에서 Current Weather Data를 선택받는다. 조회 조건 및 결과 정보와 다른 기능들에 대해 잘 설명되어 있다. 우리나라 전체에 대한 날씨 데이터를 조회할 것이기 때문에 조회 조건은 다음과 같다. http..
![[JAVA] proj4 투형 변환](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcIx8tW%2FbtsBl4Uf6En%2Fq5XLN6SScHksNQk4icBAw0%2Fimg.png)
투형 변환 TM(미국좌표) 좌표와 WGS84(한국좌표) 좌표를 서로 변환한다. 다운로드 Java Map Projection Library 사이트에 접속하여 다음의 Download에서 소스 및 jar 파일을 다운로드한다. 다운로드한 jar 파일은 프로젝트의 classpath 경로에 추가한다. 샘플 // 투형 정보 입력(중부원점 직각좌표 투형정보) String[] proj4 = new String[] { "+proj=tmerc", "+lat_0=38N", "+lon_0=127.00289027777777777776E", "+ellps=bessel", "+units=m", "+x_0=200000", "+y_0=500000", "+k=1.0" } Projection proj = ProjectionFactory.f..