본문 바로가기
반응형

분류 전체보기976

LLM - Llama2(라마2) 모델 개인 노트북으로 실행하기(CPU기반) 오늘 발견한 아주 좋은 글이 있어서 여기에 공유해 본다.내용은 라마2 모델을 CPU기반으로 실행할 수 있다는 것이다.요즘 GPU 메모리 부분을 많이 최적화 하고 있는 것으로 알고 있었는데, 이제 CPU+GPU 등 점점 모델들이 최적화 되고 있음을 느끼고 있다.이는 어떻게 가능할까? 여기게 요점 위주로 간단히 정리해보도록 하겠다.관련 내용은 아래에서 확인이 가능하다.Running Llama 2 on CPU Inference Locally for Document Q&A | by Kenneth Leung | Towards Data Science Running Llama 2 on CPU Inference Locally for Document Q&AClearly explained guide for running .. 2024. 6. 8.
Python - 스플렁크(Splunk) Query 검색 Splunk 는 외부에서 손쉽게 쿼리 검색등 다양한 작업을 할 수 있도록 지원하고 있다.그중 쿼리 검색에 대해서 알아보도록 하자.먼저 Splunk 라이브러리 splunk-sdk를 설치하자.pip install splunk-sdk이후 아래와 같은 코드를 통해 쿼리 검색이 가능하다.import splunklib.client as client# 스플렁크 연결HOST = "splunk_host"PORT = 8089USERNAME = "account_username"PASSWORD = "account_password"# 검색 쿼리 설정SEARCH_QUERY = "search index=my_index | stats count by _time"# 스플렁크 연결service = client.connect( ho.. 2024. 6. 8.
Python - 리스트(list) 중복제거, 고유값 만들기 Python에서 리스트를 중복값을 제거하는 가장 손쉬운 방법은 set() 이라는 내부 함수를 이용하는 방법이다.set()을 이용하면 리턴 값으로 중복된 값을 제거한 list를 기본적으로 dict()로 반환하게 된다.다음과 같이 이용이 가능하다. >>> set([1,2,3,4,5,1,2,4,5,6,2,1,1,34,3,]){1, 2, 3, 4, 5, 6, 34}한글과 같은 문자열도 정상적으로 사용이 가능하다. >>> set(["2","1","1","ㄴ","ㄱ","ㄷ","한","ㄴ","ㄱ"]){'한', '1', 'ㄴ', 'ㄱ', 'ㄷ', '2'}결과를 보면, 딕셔너리 형태이긴 하지만 리스트처럼 활용이 가능하다. 하지만 dict 사용에 데이터타입을 list로 활용하고자 한다면, list 문을 추가하여 결과를 반.. 2024. 6. 8.
Tool - 파티션 매직 포터블 파티션 확장/이동하기 (무료 파티션 관리) 간혹 파티션 크기를 새로 잡거나 조정하고 싶을 때 윈도우 기본 프로그램만으로 진행하기에는 어려운 느낌이 강하가.여기에서는 파티션 조정하는 방안에 대해서 몇가지 주요 팁을 얘기해보도록 하겠다.우선 프로그램은 다음 프로그램을 이용하면 무료로 조정이 가능하다.[Macrorit Partition Expert Portable v5] - 설치하지 않고 바로 사용이 가능하다.Download윈도우 11/10에서도 잘 동작하기 때문에 파티션 조정이 필요할 때 유용하게 사용할 수 있다.프로그램은 무료로 설치 없이 바로 사용이 가능하다.그럼 주요 기능인 공간을 확장하는 방법에 대해서 알아보도록 하자.공간 확장하기공간을 확장하는 방법은 디스크에서 현재 파티션의 앞과 뒤로 할당되지 않은 공간이 존재해야 가능하다.따라서 사용하지.. 2024. 6. 8.
Python - ' '.join() 리스트(list) 연결하여 문자열 로 만들기 파이썬의 join() 함수는 리스트(list)에 있는 요소들을 지정된 구분자로 연결하여 문자열을 반환하는 함수이다.실무에서 리스트 값을 문자열로 표현하고자 할 때 자주 사용된다.예제 코드로 살펴보면, 아래와 같이 구분자를 \n 를 줄경우 각 리스트에 항목 사이에 \n(줄바꿈)이 들어가서 화면에 표시될때 줄바꿈 효과가 나타나게 된다.strings = ["Hello", "Python", "World"]result = "\n".join(strings)print(result) 만약 공객을 이용하게 되면, 문자열 사이에 공백이 들어가게 된다.strings = ["Hello", "Python", "World"]result = " ".join(strings)print(result) 2024. 6. 8.
Python - Blogger API 로 글 작성하기 먼저 블로거를 API로 활용하기 위해서는 블로거에 로그인하는 구글 계정이 필요하다.헤당 계정을 통해  https://console.cloud.google.com/ 으로 로그인하여 API 계정이 생성할 수 있다.먼저 인증 부분을 해결해야 한다. 인증은 API 페이지를 이용한 간편 방법과아래는 클라우드 콘솔에서 진행하는 정식 방법으로 가능하다.먼저 API 페이지에서 진행하는 방법으로 블로거 API를 위한 간편 설정 부분이다.Blogger API 페이지에서 인증 생성1. Oauth 를 이용한 방법Blogger API: API 사용  |  Google for Developers위 링크에 접속하면, 요청 승인 및 애플리케이션 식별 페이지가 열리는데, 여기에서 블로거용 Oauth의 발급과 요청 승인을 바로 진행할 .. 2024. 6. 8.
Python - Regex 정규식 표현과 직접 함수 구현 정규식 표현에 re 라이브러리를 사용하는데, 어느정도 성능적인 이점을 가져가면서 사용할 수 있는지 확인하기 위해서 비교해보았다.import timeitimport re# 정규식 사용def find_strings_three_more_numbers(input_string): pattern = r'\D*\d\D*\d\D*\d\D*' matches = re.findall(pattern, input_string) return matches# 직접 구현def has_three_more_numbers(input_string): num_count = 0 for char in input_string: if char.isdigit(): num_count +.. 2024. 6. 8.
윈도우 구조 - 커널 예외 처리 이해 하기, KeBugCheckEx 이번에는 윈도우 예외 처리 이해 하기로 KeBugCheckEx에 대해서 알아보도록 하겠다.윈도우에서는 IDT(Inturrupt Descriptor Table)를 이용해 인터럽트 및 예외(Exception)를 처리하는데, BSOD와 같은 예외 상황 역시 IDT 테이블 통해 처리되며, 최종 KeBugCheckEx를 통해 오류상황에 대처한다. 그럼 KeBugCheckEx의 구조체를 알아보자.VOID KeBugCheckEx( __in ULONG BugCheckCode,__in ULONG_PTR BugCheckParameter1,__in ULONG_PTR BugCheckParameter2,__in ULONG_PTR BugCheckParameter3,__in ULONG_PTR BugCheckParameter4);첫.. 2024. 6. 8.
Σ σ, ς / 시그마(sigma) - 뜻과 읽는법 ∑(시그마)란 그리스 문자 중 S를 나타내는 대문자로, 합을 표현하기 위해 만들어진 수학적 기호이다.수열의 합을 전에는 Sum의 약자인 S(n) 이런 식으로 사용했는데,  수열의 Sn은 수열의 제1항부터 제n항까지의 합을 의미한다. Sum은 2항부터 n항이라던지, 변수 n에 대하여 3항부터 k항까지의 합을 표현하기가 어려운 문제가 있다. 그래서 ∑(시그마)가 만들어 졌다.시그마의 아래에는 ❶에서 항의 시작하고 시그마의 위에는  ❷ 항의 끝을 표시한다. 그리고 시그마의 오른쪽에 ❸ 항을 더할 대상(또는 일반항)을 표시하면 원하는 합을 표시할 수 있습니다.그림으로 표현하면 아래와 같다. 위 시그마의 의미는 k=1부터 시작해서 k=n까지 F(k)에 대입하여 더하라는 의미이다.즉 계식으로 표현하면, F(1)+F.. 2024. 6. 7.
반응형