분류 전체보기 115

챕터 02 - 2

챕터 2-1 에서는 주어진 샘플을 훈련세트와 테스트세트로 나누어야 하는 이유와 랜덤처리를 위해 넘파이 라이브러리를 사용해봤다. 하지만 아직 데이터 입력 단계에서 할 일이 좀 더 남아있다. 사실 지금까지 한 작업은 무게와 길이의 스케일 범위가 틀리기때문에 제대로 작업한건 아니다. 그걸 맞춰가는 작업을 살펴보자. 문제 : 생선 길이, 무게로 도미 알아내기 + 수상한 도미 한마리 (2-1장에서 계속 이어짐) (아직도 이 문제는 해결이 안됐다. ㄷㄷㄷ) 2.1에서 작업한 모델로 수상한 도미 데이터(길이25cm, 무게 150g) 한마리를 예측해보니 빙어로 나오는 문제가 발생했다. 이걸 해결해보자. 먼저 넘파이라는 효율적인 라이브러리를 배웠기 때문에 작업환경을 다시 맞춰보자. 데이터 준비 사이킷런으로 훈련 세트와 ..

챕터 02 - 1

챕터 1 에서는 인공지능이 뭔지, 데이터가 있을때 어떤식으로 머신러닝을 적용해야 할지 대략적으로 살펴보았다. - 데이터 입력 및 파악 - 훈련 - 예측 이런식으로 이루어지는데 이번 챕터에서는 데이터를 파악하는데 좀 더 깊게 들어가게 된다. 지도학습과 비지도학습 머신러닝 알고리즘은 크게 지도 학습과 비지도 학습으로 나누어 지는데 지도학습은 정답을 가지고 알고리즘이 정답을 맞히는것을 학습하는데 반대로 정답이 없이 입력데이터만 가지고 학습하는걸 비지도학습이라고 한다. 1장의 도미와 빙어 데이터는 무게와 길이 데이터( 무게와 길이를 특성이라고 함. 그리고 정답이외의 데이터를 입력이라고 함)와 어떤 특성 세트가 도미와 빙어것인지 정답데이터(타겟이라고 함)도 함께 제공하기 때문에 지도학습이라고 할 수 있겠다. 입력..

챕터 01

이 글은 혼자 공부하는 머신러닝 + 딥러닝 (한빛미디어 2020)이라는 책을 공부하면서 정리한 글이다. 인공지능이란? 역사 좀 더 자세한 역사는 다른 글이나 영상에서 언급되어 있기 때문에 여기서는 간단히 중요 사건만 정리해보면 최초의 언급은 150년전 소설에서 등장한다. 그후에는 막연히 공상과학 소설에서나 간간히 등장하던 개념이 1943년 워런매컬러와 월터 피츠가 최초로 뇌의 뉴런 개념을 발표하면서 인공지능이라는 개념이 실체화되기 시작한다. 이후 1950년에 그 유명한 엘런 튜링이 튜링 테스트를 발표하고 1956년에 다트머스 AI 컨퍼런스에서 인공지능에 대한 전망이 최고조에 도달하게 된다. 1957년에는 프랑크 로젠블라트의 퍼셉트론이라는 중요한 AI연구의 기본이 되는 알고리즘이 발표된다. 1959년에 데..

C++ 비주얼 스튜디오 초기 세팅

아무도 알려주지 않은 C++ 코딩의 기술 책에서 발췌했음. 비주얼 스튜디오 2019 기준으로 C++ 기본 구성용 템플릿을 만들어보자. 최초 프로젝트 생성시 솔루션 이름과 위치만 신경쓴다. 프로젝트 이름은 아무거나 일단 정하고 만들기 클릭한다. 이렇게 만들어진 빈 프로젝트에서 프로젝트를 삭제하고 새 솔루션 폴더를 선택해서 Src 폴더를 만든다. 그리고 일단 한번 프로그램을 종료하고 Src 폴더를 수동폴더로 생성한뒤에 해당 폴더로 가서 sln 파일을 Src 폴더로 옮겨 놓고 나머지 폴더들은 삭제한다. 그리고 다시 비주얼스튜디오를 sln 파일을 클릭해서 오픈한다. 이 상태에서 다시 추가 > 새 프로젝트 선택하고 프로젝트 구성화면이 뜨면 아래와 같이 위치세팅시 위에서 만든 Src 밑에 위치하도록 한다. 그럼 새..

유니티에서 페이스북 로그인 (안드로이드)

기본이 되는 글은 https://80000coding.oopy.io/53ee65b5-38f1-4c51-9ff0-c30004c0c1b0 이걸 참조했다. text 세팅, 해시키 세팅만 되면 로그인 처리는 금방되는데 요 2개에서 의외로 시행착오가 많이 나온다. 개발환경 OS : 윈도우 유니티 : 2021.3.16f1 (2023년 4월 현재 필자가 제일 많이 쓰는 버전) (맥에서는 유니티 2021 실리콘버전은 안드로이드 빌드가 안되는 경우가 있음, 2021 인텔 버전으로) 페이스북 SDK : v16.0 참고로 밑에서 SDK조건을 보면 나오지만 현재 Facebook SDK(v16.0.0)는 유니티 2019.4.39 이상에서 개발하라고 나온다. 그런데 여러가지 버전을 테스트 해 본 결과 (빈 프로젝트를 안드로이드 ..

파이썬 개발환경 세팅 (맥, zsh, 브류, pyenv)

맥에서 파이썬을 개발하기 위한 환경구성은 좀 애매한 편이다. 누구는 브류기반으로 설치해서 개발하는게 좋다고 하고 누구는 다른 프로그램과 연계할때 문제가 발생할 수 있어 수동으로 설치하는걸 추천하기도 한다. 깨끗한 개발환경 세팅이 힘들수 있는데 그렇다고 깨끗한 파이썬을 설치한다고 삭제 방법을 이것저것 많이 알아봤지만 설치한 환경에 따라 쉽게 삭제될수도 있고 어려울수도 있다. 아래글을 한번 읽어보면 적당한 가상환경 추천을 하는데 많이 공감이 가는 문서다. /Library/Developer/CommandLineTools/usr/bin 에 있는 파이썬 문제 지적과 가상환경 추천 https://dailyheumsi.tistory.com/214 위 글에 따라 먼저 내 맥에 파이썬이 있는 위치를 확인해 보면 whic..

개발환경 구축 2022.12.25

C# gRPC 최소 개발환경 구축하기 4(클라이언트 구현)

메인으로 가기 클라이언트는 간단히 gRPC를 이용한 통신만 할 수 있는 세팅으로 구성한다. 폴더 구성은 아래와 같이 한다. gRPC_MINI_Framework/ (이하 gmf로 호칭) - Server ... - Client - protoc (클라이언트와 통신할 프로토파일 모음) - gmfClient (실제 클라이언트 프로젝트와 솔루션폴더) 그리고 닷넷 솔루션과 닷넷 프로젝트를 구성한다. ..\Client> dotnet new console -o ./gmfClient ..\Client> cd gmfClient ..\Client\gmfClient> dotnet new sln ..\Client\gmfClient> dotnet sln add ./gmfClient.csproj 패키지는 서버와 동일하게 설치한다. ..

C# gRPC 최소 개발환경 구축하기 3(서버 구현)

메인으로 가기 아무래도 서버니까 비동기 기반으로 프로젝트를 구성할까 한다. 참조 블로그 https://medium.com/@nikhilajayk/creating-your-first-grpc-net-core-client-and-server-app-using-visual-studio-or-visual-studio-code-293a6a5a5f7 메인프로그램은 가볍게 무한루프로 구성하고 RunServer()에서 gRPC서버를 구성하면 된다. gmfServer > Program.cs using Grpc.Core; namespace gmfServer { internal static class Program { private static Server? _server; private static readonly Can..

C# gRPC 최소 개발환경 구축하기 2(개발환경 세팅)

메인으로 가기 좀 더 디테일한 내용을 내가 정리한 개발환경 세팅(개인적인 글임) 시간이 흘러 2025년도에 제대로 된 gRPC 프로젝트를 다시 시작하게 되면서 기존 내용을 업데이트하게 되었다.바뀐내용은 빨간색으로 표시를 했다. 개발프레임워크   C# 11   .net Framework 4.8 이상    .net Core 6.0 이상 -> .net Core 9.0 이상   에디터 : VSCode개발플랫폼 : 윈도우, 맥 폴더 구성은 아래와 같이 한다. gRPC_MINI_Framework/ (이하 gmf로 호칭)        - Server                - protoc (클라이언트와 통신할 프로토파일 모음)                - gmfServer (프로젝트 솔루션)           ..

C# gRPC 최소 개발환경 구축하기 1(grpc 개론)

메인으로 가기 https://grpc.io/docs/what-is-grpc/introduction/ 에서 발췌 (gRPC 공식사이트) 이 페이지에서는 gRPC 및 프로토콜 버퍼를 소개합니다. gRPC는 프로토콜 버퍼를 IDL (인터페이스 정의 언어 ) 및 기본 메시지 교환 형식으로 사용할 수 있습니다. gRPC 및/또는 프로토콜 버퍼를 처음 사용하는 경우 이 내용을 읽어보세요! 개요 gRPC에서 클라이언트 애플리케이션은 마치 로컬 개체인 것처럼 다른 시스템의 서버 애플리케이션에서 메서드를 직접 호출할 수 있으므로 분산 애플리케이션 및 서비스를 더 쉽게 만들 수 있습니다. 많은 RPC 시스템에서와 마찬가지로 gRPC는 매개 변수 및 반환 유형을 사용하여 원격으로 호출할 수 있는 메서드를 지정하여 서비스를 ..