전체 글 56

[Ubuntu 20.04 LTS] apt-get 삭제 후 재설치

대형사고를 쳤다. 서버 방화벽 설정하다 ssh로 접속하는 22번 포트를 열지않은채로 방화벽을 켜서 ssh접속이 종료되었다. 심지어 ubuntu-server 버전이라 gui가 지원이 안되는 서버였으나, 그것도 모르고 nvidia driver가 설치되어 서버는 display를 지원하고있었으나, 서버로 설치했으니까 어떤 어플리케이션도 설치가 안된 아주 막막한 상황. 물론 처음엔 이게 문제인지 몰라서 os를 재설치했다. 재설치 후에 습관적으로 서버버전이 아닌 그냥 nvidia를 설치해서

linux 2022.03.22

[이미지 학습AI] 이미지를 학습으로 annotation을 해보자.[1]

이전 회사에서 이미지학습이 지겨워 탈출했는데, 그런 말이 있지않은가. 도망친 곳에 낙원은 없다. 라고 이직한곳에서도 비슷한 일을 하게 되었다. 각설하고 이번엔 ai hub에 있는 이미지 데이터를 사용해서 객체 탐지를 진행해보고자 한다. 우선, 학습에 사용된 스펙은 다음과 같다. server Ubuntu20.04 torch 1.7.1+cu110 torchvision 0.8.2+cu110 cuda 11.2 gpu RTX A4000 객체 탐지에 사용될 소스는 yolov5이다. https://github.com/ultralytics/yolov5 GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite YOLOv5 🚀 in PyTorch ..

python/AI 2022.03.15

Nvidia 설치 ( Ubuntu 20.04 )

이직한 회사에 AI용 gpu서버를 세팅했다. 물론 포트포워딩이나 기본적인건 내가 한건 아니지만, 필요한 세팅은 알아서 해야했으므로 파이썬 설치 및 nvidia 드라이버를 설치해보자. 파이썬 설치 및 alias 설정이니 필요한 경우에 읽어보자. 더보기 다음 명령어로 파이썬 버전을 확인해보자. python --version python3 --version 리눅스엔 기본적으로 파이썬이 설치되어있다. 2.x 버전, 3.x 버전. 위의 명령어로 바로 3.x가 나온다면 이 글을 접고 다음으로 넘어가자. 아래의 명령어로 버전이 출력된다면 ln -s /usr/bin/python3 /usr/bin/python 이렇게 해주면 python alias 등록이 완료된다. Permission 에러는 sudo 명령어로 해결 가능하..

linux 2022.03.10

[구글 API] 구글 API를 통해 유튜브를 검색해보자 -2

이전 포스트에서 대시보드가 보였다면, 이젠 사용자 인증정보를 생성해보자. 당장은 Youtube API 만 사용하려고하니, API 선택에서 위와같이 유튜브를 찾고, 공개데이터를 선택한 뒤, 다음단계로 가자. 다음으로가면, API 키 제한을 하라고한다. KEY 값이 외부로 유출되면, 연결된 결제수단으로 과금이 발생할 수 있으니 제한이 필요하다는것. 이름도 따로 정할 수있는데, 난 귀찮은 관계로 넘어간다. 관리해야하는 API가 여러개라면 고려할만한 옵션이다. 저장을 누르고 API를 복사해놓자. 트위터와는 다르게 KEY만 가지고있으면 접근이 가능하다. pip install google-api-client 위 명령어로 google client를 설치하면 일단 사용준비는 끝. from googleapiclient ..

python/크롤링 2022.01.25

[구글 API] 구글 API를 통해 유튜브를 검색해보자 -1

이전 트위터 API 직후에 작성한다는것이 조금 늦어졌다. 구글은 다양한 API를 제공한다. 구글에서 지원하는 어플리케이션의 API나 지도를 사용할 수 있다. 우선, 트위터와 마찬가지로 개발자신청을 통해 권한을 얻어야하는데, https://console.cloud.google.com/getting-started 위 링크를 따라가면 이런 화면이 나온다. 이메일 업데이트는 빼고 위의 두개만 체크해도 정상적으로 넘어간다. 최상단에 제품/리소스검색창에 youtube data API를 검색해보자. 검색해서 나온 결과중에 맨 위에있는 Youtube Data API v3를 누르면 위와같은 화면이 나오고, 사용을 눌러서 API를 등록하자. 인고의 시간을 버텨내면 위와같은 대시보드가 보인다. 바로 사용할 수는 없고, 사용..

python/크롤링 2022.01.25

406 Not Acceptable

운영 / 관리하던 프로젝트를 종료했다. 인수인계 관련해서 새로 서버에 파이썬과 크롤링에 필요한 라이브러리를 설치하고 서비스 세팅 README 작성 등등 서버 이전은 끝났고 이제 제대로 실행만 되면 되는데. 일부 requests로 수집하는 데이터에서 406 에러가 발생했다. 예전에 개발할 때 User-Agent가 없이 요청을 하면 406이 떨어졌었는데, 분명히 이전서버에서는 잘 작동했다. 하루 내내 돌아보고 User-Agent도 바꿔보고 Content-Type도 바꿔가면서 요청했는데 죄다 먹통. 파이썬 문제인가 싶어서 curl 명령어 curl "site_url" -I -v -A "Mozilla" 로 요청해도 똑같이 406 관리하는 다른 여러 서버에서 똑같은 요청을 했는데 다른서버는 200... 결과적으론 ..

linux 2022.01.19

[파이썬] pandas 시간 구간을 그룹화해보자.

시계열 데이터를 만지다보면 빈 값도 있고, term이 제각각인 경우도 있다. 만약 time step이 1초라면 데이터도 어마어마하게 많을테니 이를 효과적으로 줄여보자. import pandas as pd import random df = pd.DataFrame() df['Time'] = pd.date_range('2021-01-01','2021-01-02',freq='1S') df['Color'] = random.choices(['Red','Blue','Green','White'], k=len(df)) df['Value'] = 1 위와 같이 데이터를 만들어보자. 무의식적으로 날짜를 적다보니 2021년 1월로 정했다. 코시국때문에 새해지만 새해같지않다. 각설하고 86401개의 데이터가 만들어지고, 색상과 ..

python/기초 2022.01.19

[파이썬 기초] 반복문을 뜯어보자. ( feat.왜 i? )

파이썬을 처음 시작할 때, 배우는 과정중에 반복문이 있다. 파이썬에선 다음과 같이 사용한다. for i in range(10): print(i) 따라하다보면 참 재미있다. 초심자의 입장에서 의문이 들만한 점은 왜 모든 기초 반복문에서 i를 사용할까? 이다. 왜 i를 넣으면 되고 다른건 안되나요? 등등 물어보는 일이 많다. 여기서 i는 반복자라고 하는데, i는 단순히 변수의 역할을 할 뿐, 특별히 큰 의미가 있는건 아니다. 즉 사용자에 따라, 데이터 타입에따라, 반복할 객체의 종류에 따라 다르게 설정할 수 있다. 예를들어, 위의 예제에서는 반복문이 한눈에 불 수 있을정도로 짧지만, 반복문이 길어진다면? 반복문 안에 또 반복문이 생기는 경우도 있을 수 있다. 만약 점수를 담은 리스트 scores = [100..

python/기초 2022.01.05

[Django] 12. 게시판 페이징 기능추가

지금이야 게시글 개수가 몇개 없지만, 늘어난다면 어떻게 될까? 장고 쉘을 이용해서 게시글 개수를 늘려보자. >>python manage.py shell from pybo.models import Question from django.utils import timezone for i in range(300): q = Question(subject='%03d 게시글'%i, content = '약오르지', create_date = timezone.now()) q.save() 페이징을 하지 않았으므로 스크롤이 굉장히 길어진다. 이제 페이징을 통해 화면을 개선해보자. from django.core.paginator import Paginator ... ... def index(request): ''' pybo 목..

python/Django 2021.12.29

[Django] 11. 네비게이션 기능 추가

기본 기능 외에 편의기능을 구현해보자. 메인페이지로 돌아가는 기능과 로그인기능을 추가할 것이다. templates/base.html를 열어 아래와같이 수정하자. {% load static %} Pybo 로그인 {% block content %} {% endblock %} navbar-brand에 Pybo로고를 만들어주고 클릭시 pybo:index로 이동하게 만들자. 위치는 맨 왼쪽이며, 그 오른쪽엔 로그인 링크를 추가 번호와 페이징은 추후에 다룰 예정이니 모른 척 넘어가고, Pybo와 로그인이 상단 좌측에 표시된것을 볼 수 있다. base.html은 모든 화면이 상속받고있기 때문에 어느 페이지를 들어가도 방금 추가한 네비게이션이 표시된다. 자, 여기서 화면을 작게 줄여보자. 로그인 표시가 사라지고 우측상..

python/Django 2021.12.29
반응형