728x90

IT 417

Annotation과 Annotation의 툴 비교

Annotation이란? AI에서 이미지 인식등의 작업을 할 때, 이미지에 해석 정보를 추가하게 된다. 이러한 해석 정보를 추가해 지도 학습 데이터를 만드는 작업을 Annotation이라고 부른다. Annotaion은 XML, JSON등을 사용하여, 메타 데이터로 저장하는 경우가 많다. Annotation작업을 위한 툴이 굉장히 많으며, github 리포지터리 스타 수, 커밋 수, 최신 커밋 일자 등을 참고하여 몇 가지 추려보았다. 1) LabelImg https://github.com/tzutalin/labelImg 2) Labelbox https://github.com/Labelbox/Labelbox 3) VoTT https://github.com/Microsoft/VoTT/ 4) Annotoriou..

IT/AI\ML 2022.05.13

Google Chrome이 추천하는 프라이버시 샌드 박스 기술의 하나인, Privacy Budget이란 무엇인가?

※ 일본의 한 블로그 글을 번역한 포스팅입니다. 의역 및 직역, 오역이 있을 수 있으면 내용 오류 알려 주시면 수정하도록 하겠습니다. Google은 프라이버시 샌드 박스(*)의 일환으로 Privacy Budget을 제안했다. 간단히 말하자면, 얻어진 정보에 대해서는 상한을 두자는 아이디어이다. 사용할 수 있는 예산(buget)을 예를 들어 100점이라고 정해두고, 유저 에이전트를 취득하면 10점, IP 어드레스를 취득하면 30점과 같이 점수를 쌓아가 상한으로 설정한 100점을 넘으면 식별 정도를 취득할 수 없는 느낌이다. 즉 이것으로 얻을 수 있는 정보를 제한하여, 핑거 프린트의 위험성을 줄이는 것이다. (*) 프라이버시 샌드 박스 : 서드 파티 Cookie나 그 외에 추적 매커니즘을 사용하지 않고 크로..

IT/기초 지식 2022.05.08

[IT 회사 생활] 개발 업무는 어떤 순서로 해나가면 좋을까?

※ 일본의 한 포스팅을 번역한 글입니다. 오역 및 직역, 의역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 이번 포스팅에서 가정하고 있는 개발 업무 어플리케이션은 이미 수 년간 운용중인 Rails 어플리케이션 상품의 목록 화면에 "CSV 다운로드 버튼을 추가"하길 바라는 개발 업무 로컬의 개발 환경은 모드 셋업이 완료되어 있는 상태 [순서1] 현재 진행 중인 사양(시스템의 움직임)을 확인하기 먼저 로컬 환경에서 Rails 어플리케이션을 동작시켜보면서 현재 어플리케이션은 어떤 흐름으로 움직이고 있는 사양을 확인한다. 예를 들어, 이번에 할 개발 업무인 "CSV 다운로드 버튼"을 추가할 화면에 어떻게 액세스하면 좋을지를 확인하는 등이다. "변경하는 것이 이 화면이니까"라고 전달받더라도, 정작 ..

[PHP] PHP 기초 중의 기초 문법

변수 php에서는 데이터형의 선언이 없으며 JavaScript과 같은 var도 없다. 맨 처음에는 $를 붙여서 변수를 선언한다. $msg = "Hello World"; echo $msg; $msg이라는 변수에 문자열 "Hello World"를 대입하는 형태이다. echo를 사용하여 변수를 전개하여 Web 페이지에 출력해준다. 이 때의 $msg의 데이터형은 String이다. PHP에서 다루는 데이터형의 종류는 다음과 같다. 문자를 다룰 때 String 숫자를 다룰 때 int float 참거짓판단 (true/false) boolean 배열 오브젝트 null 데이터형등은 var_dump등을 이용해서 간단히 확인할 수 있다. $msg = "Hello World"; var_dump($msg); 정수 아까 봤던 변..

IT/언어 2022.04.18

[Azure] Azure Machine Learning Compute이란?

Azure Machine Learning 머신러닝 모델의 개발/디플로이를 지원하는 Azure 서비스 "Azure Machine Learning"에는 크게 세 가지 서비스가 존재한다. 하나는 "Azure Machine Learning Studio"로, Azure Machine Learning Studio는 Web 브라우저에서 동작하는 GUI 베이스의 개발환경으로 기계학습 모델의 생성, 학습, Web 서비스로 디플로이 등을 가능하게 한다. 또 하나의 서비스는 "Azure Machine Learning Service" 이다. Azure Machine Learning Service는 머신러닝의 구축, 학습, 디플로이를 지원하는 Python을 사용한 데이터 사이언티스트용 서비스이다. 마지막은 "Azure Mach..

IT/기초 지식 2022.04.15

flake8과 Black을 도입해 깔끔하고 정형화된 python 코드 쓰기

flake8과 Black이란? flake8 flake8이란 "pep8의 체크, pyflakes의 체크 및 순환 복잡도를 체크할 수 있는 Wrapper"이다. 즉, 폭 넓게 커버해주는 Python의 코드 체크 툴이다. flake8은 아래의 항목을 체크해준다. PyFlakes (pyflakes : 코드의 에러 체크) pycodestyle (pycodestyle : PEP8에 준거하고 있는지를 체크) Ned Batchelder's McCabe script (mccabe : 순환 복잡도를 체크) Black 다만, flake8은 코드의 체크를 해주긴 하지만 에러의 수정까지는 불가능하다. 여기서 에러를 자동으로 수정해주는 것이 Black이다. flake8의 도입 및 실행 이제 flake8을 사용해보자 ! 그전에 먼..

IT/기초 지식 2022.04.14

머신러닝 구현 속도를 올려주는 VSCode 설정

※ 일본의 한 포스팅을 번역한 글입니다. 오역 및 직역, 의역이 있을 수 있으며, 틀린 내용은 지적해주시면 감사하겠습니다. 이번 포스팅에서는 코드 에디터인 VSCode에서 머신러닝 개발을 할 때 폭발적으로 속도를 올려주는 셋팅에 대해서 얘기하고자한다. 심층학습 모델의 만들 때 리모트 환경의 GPU를 탑재한 서버에서 작업을 하는 경우가 매우 많아. VSCode는 이러한 리모트 환경에서의 코드 편집 및 디버그를 간단히 할 수 있는 구조들이 꽤 많이 존재한다. 이 포스팅에서는 심층학습 모델의 구현에서 빈번히 사용되는 Python을 대상으로, 아래의 관점을 바탕으로 작성 속도를 올려주는 설정과 기능에 대해 소개한다. Python의 개발 환경의 구축 리모트 환경의 GPU 서버에 접속하기 위한 설정 심층학습 모델의..

IT/AI\ML 2022.04.14

docstring의 세 가지 스타일

이번 포스팅에서는 docstring 작성에 주로 사용되는 세 가지 스타일 reStructuredText, Google style, Numpy style에 대해서 간략하게 알아보고자한다. reStructuredText def func(arg1, arg2, arg3): """Hello, func Lorem ipsum dolor sit amet, :param string arg1: First argument :param arg2: Second argument :type args2: list[int] :param arg3: Third argument :type args3: dict[str, int] :return: Return value :rtype: str or None :raises ValueError: i..

IT/기초 지식 2022.04.13

[python] AI엔지니어가 주의해야할 python 코드 작성 포인트

※ 일본의 한 포스팅을 번역한 글입니다. 오역 및 직역, 의역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 이번 포스팅에서는 데이터 사이언티스트, AI 엔지니어가 Python 프로그램을 작성할 때 주의해할 점과 노하우 등을 정리해보았다. AI 엔지니어가 주의해야할 python 코드 작성 포인트 이번 포스팅에서는 다음의 내용들에 대해서 다룰 것이다. 레벨 1 1.1 변수, 함수, 클래스, 메소드의 명명규칙을 지키기 1.2 명명방법1 : 변수명이나 메소드명에서 장황한 부분은 삭제하기 1.3 import의 기재는 룰에 따르기 1.4 랜덤수의 seed는 고정하고, 재현성을 보장하기 1.5 프로그램은 함수화하여 실행하기 레벨2 2.1 명명방법2: reverse notation(역기법)으로 명명하고,..

IT/AI\ML 2022.04.13

Concept drift와 Data drift란?

머신러닝이나 예측 분석(데이터 마이닝등)에 있어서 Dritf이란 어떠한 "예측하지 못한 변화"에 의해 모델의 예층 성능이 시간이 경과함에 따라 떨어지는 것을 일컫는다. Model drift나 Model decay(모델의 쇠퇴), Model staleness(모델의 진부) 등으로 불리는 듯하다. 드리프트가 발생하는 원인마다 다양한 관련 용어가 정의되어 있으며, 주된 용어로 Concept drift와 Data drift가 있다. Concept drift란, 입력 데이터(특징량, 설명변수)에서 부터 예측하려고 하는 "정답 라벨(목적 변수)"의 의미/개념/통계적 특성(즉 데이터와 라벨의 관계성, 데이터의 해석 방법)이 모델 훈련때와 비교하여 변화가 있음을 의미한다. Data drift란, 모델의 훈련시 "입력 ..

IT/AI\ML 2022.04.12
728x90