Hong의 모든 글

Ubuntu 패키지 업데이트 에러: dpkg: error processing package update-notifier-common (–configure):

Ubuntu에서 패키지를 업데이트 하는 도중에 다음과 같은 에러 메시지를 보는 경우가 있습니다.

이거 생각보다 잘 복구가 되지 않는데요.

dpkg: error processing package update-notifier-common (--configure):

여러가지 방법을 써봤지만 잘 안되고 가장 확실한 것은 다음과 같이 하는 것입니다.

cd /var/lib/dpkg
sudo mv info info.bak
sudo mkdir info
sudo apt-get upgrade

Python Torch로 CUDA , GPU 사용가능 여부 확인하기

GPU를 사용하기 위해서는 드라이버를 설치하고 몇가지 작업을 해줘야 합니다.

Python에서 GPU를 쓸 수 있게 되어 있는지 아닌지 확인할 때 pytorch를 쓴다면 다음과 같이 하면 됩니다.

import torch

print("쿠다 가능 :{}".format(torch.cuda.is_available()))
print("현재 디바이스 :{}".format(torch.cuda.current_device()))
print("디바이스 갯수 :{}".format(torch.cuda.device_count()))

for idx in range(0, torch.cuda.device_count()):
    print("디바이스 :{}".format(torch.cuda.device(idx)))
    print("디바이스 이름 :{}".format(torch.cuda.get_device_name(idx)))
    

결과는 이런식으로 나옵니다.

쿠다 가능 :True
현재 디바이스 :0
디바이스 갯수 :2
디바이스 :<torch.cuda.device object at 0x7fd3cd576460>
디바이스 이름 :GeForce RTX 3080
디바이스 :<torch.cuda.device object at 0x7fd3cd5766d0>
디바이스 이름 :GeForce GTX 1080

Gensim 사용 오류 – ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject

오랜만에 Gensim을 설치해서 사용하려고하니 오류가 나옵니다.

ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject

number의 ndarray 사이즈가 바뀌었다는 오류메세지인데 해결책은 간단합니다.

numpy를 다시 설치하면 됩니다.

pip uninstall numpy
pip install numpy

추가로

numpy는 매우 중요한 패키지이기 때문에 가능하면 최신으로 유지하는 것이 좋습니다. 하지만 일부 ML/AI 패키지들이 numpy 구버전을 요구하는 경우가 있습니다.

이런 경우는 뚜렷한 해결책은 없습니다. 그냥 낮은 버전의 numpy를 사용하는 패키지를 제거하는 것이 좋습니다.

무료 책 – R 패키지 제작 방법

R패키지는 만드는 것이 까다롭습니다.

패키지를 코딩해서 만드는 것도 어렵지만 CRAN에 등록할 때 어려운 점이 많습니다.

R패키지를 만들때 어려운 점

  • 여러가지 제약 사항과 고려 사항을 미리 처리해 둬야 해서 경험이 많아야 함
  • CRAN의 관리자에게서 잦은 지적사항과 관리자의 고압적인 지시사항으로 인한 스트레스와 감정 소포

R패키지를 만들어서 혼자만 쓰거나 특정 그룹 또는 회사내에서만 쓰는 것이면 CRAN에 등록하지 않아도 됩니다.

하지만 예전부터 R패키지를 만드는 사람들은 명예의 징표처럼 만든 패키지를 CRAN에 등록하는것이 목표이며 자랑거리로 생각해 왔습니다.

CRAN에 등록하기 전에 패키지를 만드는 법을 배우려면 공부가 필요합니다.

그래서 소개해 드릴 책은해들리 위캠이 쓴 R 패키지 책입니다. 온라인 버전은 무료입니다. 해들리 위캠 교수는 ggplot2를 만든 R언어의 대스타입니다.

https://r-pkgs.org/

이 책은 R언어로 패키지를 만들 때 알아야 할 내용을 간결하게 설명하고 있습니다.

R 패키지 제작에 관심이 있다면 읽기를 추천합니다.

영어로 작성되어 있어 영어 울렁증이 있다며 안 볼 수도 있지만 크롬에서 열어서 한글 번역 버튼을 눌러서 보면 내용을 그럭저럭 볼 수 있습니다. 요즘 구글 번역기가 정말 많이 좋아졌다고 생각합니다. 영어에 자신이 없어도 시도해 보세요.

빅데이터는 사기?

“빅데이터는 사기다”라고 구체적인 근거없이 맹목적으로 비난하는 분이 많아서 이 글을 포스팅합니다.

두괄식으로 말하면

빅데이터는 그 자체로는 사기가 아닙니다.

빅데이터로 사기를 치면 그게 사기이지요

빅데이터는 사기라고 말하는 사람이 많습니다. 실제 현장의 실정을 알기 때문에 이런 말 을 하는 분들이 무슨 뜻으로 하는 얘기인지 이해가 됩니다만 하지만 그렇다고 해서 그 모든 것이 다 사실이 아니거나 너무 왜곡하는 경향도 많습니다.

빅데이터가 사기라고 말하는 이유는 아마도

다음과 같이 일을 처리했거나 그걸 옆에서 지켜본 뒤의 경험을 얘기했을 것입니다.

  • 빅데이터 프로젝트 또는 PoC를 진행 했는데 뭘 했는지 모를 결과가 나왔을 때
  • 빅데이터의 성과보다는 ”빅데이터 프로젝트”라는것을 해보고 싶은 목적으로 프로젝트를 진행했을때
  • 할일이 없어서 “이거라도 해보자고 하자”라고 막연히 진행했을 때
  • 예산과 리소스를 사용하고도 실제로 비즈니스나 매출에 영향이 전혀 없을 때

빅데이터는 과정 또는 수단이지 결과가 아니다.

빅데이터 자체가 목표인 비즈니스는 빅데이터 플랫폼, 솔루션을 판매하거나 기술지원 상품을 판매하는 회사가 아니라면 많은 회사들에게 빅데이터는 “수단”입니다.

대부분의 회사, 연구소에게 빅데이터는 목표가 아닙니다. 차분히 새각해보면 그런 말이 많이 이상하다는 생각에 동의하실 것입니다.

빅데이터의 가장 활용도는 빅데이터를 이용해서 비즈니스를 개선하거나, 비즈니스 아이템을 발굴하거나, 비즈니스에 중요한 결정을 하는데 필요한 데이터를 처리하고 인사이트를 찾는 것을 돕는 것입니다.

디때 데이터 사이즈가 작고 처리하기 어렵지 않으면 그냥 통계분석이나 데이터과학이 되는 것이고 데이터 사이즈가 매우 크고 처리량도 많고 일도 많다면 빅데이터 분석, 빅데이터를 사용한 데이터 과학이 되는 것입니다.

물론 잘 아시다시피 인공지능, 기계학습에 필요한 데이터를 처리하는데도 빅데이터가 필요합니다.

빅데이터 그거 해봤는데 결과가 안좋드라.

어느날 대형 이커머스 A사와 미팅에 들어갔는데 빅데이터 해봤더니 결과가 안좋아서 우리는 사기라고 생각한다고 하더군요.

그래서 무슨 결과가 어떻게 안 좋았냐고 물었습니다. 담당자가 그냥 밑도끝도 없이 좋은 결과가 안 나왔다는 말만 되풀이하는 것이었습니다.

이 회사 뿐만은 아니고 다른 회사들과 비팅에서도 다수가 비슷한 반응이었습니다. 넘겨짚어 해석을 해보면 대부분 다음과 같은 이유입니다. 사실은 결정권자 진행자 들이 빅데이터 자체를 못마땅해 하는 것입니다.

그냥 하기 싫은 것이지요.

  1. 회사의 매출에 도움이 되는 전술을 빅데이터 프로젝트로 도출을 못했다. 즉 사업개선 아이템이나 사업확장 아이템을 못 내놨다.
  2. 인프라로 구축한 빅데이터가 돈만 쓰고 매출이나 이익을 올리는데 기여를 못한다. 돈만쓰고 돈을 못벌었다.
  3. 기술우위를 논할만큼 대단한 기술이 아니다.
  4. PoC를 했는데 결과물(산출물)이 소프트웨어가 아니고 문서쪼가리다.

이 외에도 더 많습니다만 위의 것만 하나씩 대답을 해보자면

1번 회사의 매출은 경영진이 책임져야지

회사의 매출을 올리는 것은 영업, 기획, 마케팅, 경영진이 하는겁니다. 빅데이터는 과학적 근거를 찾거나 인사이트를 찾는데 사용하는 도구입니다. 빅데이터가 그걸 해주면 그 회사 대표이사와 기획부서는 왜 필요한가요?

2번 인프라인데 돈만 쓰고 나오는게 없어

그럼 회사에서 사용하는 데이터베이스, 더존 회계, IT지원부서, 인사팀 사람들은 왜 필요한가요?

인프라는 효율을 위해서 필요한거지 당장의 매출을 올리려고 하는 것이 아닙니다.

이 질문 하는 사람들은 99%가 기술이나 생산부서 사람들입니다.

3번 그게 뭐 대단한 기술인가?

태초에는 대단한 기술이었지만 지그은 그렇게 대단한 기술이 아닌 것은 사실입니다. 누구나 다 하니까요.

그렇다고해서 전혀 쓸모 없는 것은 아닙니다. 여러분이 사용하는 대부분의 최신 데이터 처리, 분석 시스템은 빅데이터 플랫폼입니다.

4번 빅데이터를 했으면 어떻게 작동하는지 보여줘봐

대부분의 빅데이터 프로젝트는 빅데이터 플랫폼 도입 아니면 인사이트 도출입니다.

플랫폼 도입는 PoC를 해서 요건은 만족하면 도입하는 것이고 안시이트 도출은 인사이트가 나올 수도 있고 안나올 수도 있고 나왔는데 뻔한 것일 수도 있습니다.

빅데이터 프로젝트는 대부분 소프트웨어 개발이 아닙니다.

빅데이터 사기란 무엇인가?

”빅데이터를 하면 무조건 회사 매출이 오르고 주식이 2배로 뜁니다.” 라고 말하면 사기입니다.

대부분 그렇게 말하지 않지요. 진짜 사기꾼이라도 그렇게는 말 안합니다.

사기는 사기 행위가 드러나야 사기인 것입니다. 자기 마음에 들지 않거나 자기가 프로젝트에서 소외되고 회사가 헛돈 쓰는 것 같아서 마음에 들지 않는다고 사기라고 말하는 것도 올바른 생각은 아닙니다.

“빅데이터라는사탕발림으로 경영진과 결정권자를 홀려서 눈먼 돈을 뜯어간 것이 아니냐?” 라고 물을 수도 있을 것입니다.

이럿게 되물을 수 있습니다.

  • 그렇다면 대부분의 경영 컨설턴트들은 그렇지 않단 말입니까? 그들도 말로 사탕발림하는 것은 똑같지 않습니까?
  • 그렇다손 치더라도 과연 경영진과 결정권자들이 그걸 몰랐을까요? 그렇게 멍청할까요?

대부부 이 질문에 대한 답을 하지 못합니다.

빅데이터는 사기다라고 말하는 사람의 두 부류

두 부류입니다.

  • 빅데이터를 전혀 모르는 사람
  • 빅데이터를 너무 잘하는 사람

개인적인 통계를 내보면 99%가 빅데이터를 전혀 모르는 사람입니다.

옆에서 지켜보는 것이 전부는 아니라는 말을 해두고 싶습니다.

특히 소프트웨어 개발자들은 데이터 활용에 대해서 무지한 사람이 매우 많습니다. 본인들은 이런 말을 들으면 매우 불쾌해 하지만 현실은 그렇습니다.

그 사람들은 데이터과학자들이 자신들보다 높은 급여를 받으며 결정권자와 친밀하고 말로 자신들을 압도하는 것에 대해서 매우 불편해 합니다.

경험으로 볼 때 보통 빅데이터는 사기다라고 말하는 사람들의 90%가 개발자들이고 나머지 10% 자기가 할 일이 늘어나는 일하기 싫어하는 회사 직원들입니다.