본문 바로가기

python14

[m1/mac/python/llama.cpp/llama2] 로컬에서 llama2 실행해보기 ( m1 맥북 ) python 으로 llama2 모델을 실행하기 맥북이 아니거나 나는 docker 로 모델을 실행하고 싶다면 docker 에서 llama2 실행하기를 보길 바람. llama.cpp 을 사용하여 실행할 것임. 언어 모델을 다운하기 meta 의 llama git 프로젝트 받기 원하는 경로에 llama git 을 클론하자. (https://github.com/facebookresearch/llama) 다운로드 요청 링크 받기 meta 의 llama 페이지에 가서 download models 를 누르면 정보를 입력하는 페이지가 나온다. (https://llama.meta.com/) 개인정보를 입력하고 사용할 모델을 선택하여 완료버튼을 누르면 입력한 이메일로 선택한 모델의 다운로드 요청 키가 발송된다. 이메일 내용.. 2024. 3. 13.
[Airflow/python] airflow Variable Variable 등록 airflow 에서 Variable 은 airflow 전역에서 사용할 값을 미리 저장하고 DAG에서 공통적으로 사용할 변수를 말한다. 아래처럼 airflow webserver UI 에서 설정이 가능하다. JSON으로 여러개의 값을 등록할 수도 있다. Variable 사용 airflow 모듈의 Variable 을 불러와서 다음과 같이 key 값으로 value 값을 가져오면 된다. from airflow.models.variable import Variable profile = Variable.get('profile', 'local') 두번째 인자값은(local) 해당 key 값이 없을때의 기본값이다. 2024. 3. 5.
[Python/파이썬] 딕셔너리 컴프리헨션(dictionary comprehension) 파이썬에는 리스트 컴프리헨션(list comprehension) 처럼 리스트를 간단하게 선언할 수 있는데 리스트 말고도 딕셔너리도 이와 같이 간단하게 선언할 수 있다. 딕셔너리 컴프리 헨션 test_dict = { new_key:new_value for (key, value) in dict.items() if test } poke = ['이상해씨', '이상해풀', '이상해꽃', '꼬부기', '???', '거북왕', '파이리', '리자드', '리자몽'] test = { name:index for (index, name) in enumerate(poke) } print(test) .. 2024. 2. 23.
[Python/파이썬] 파이썬의 리스트 컴프리헨션(list comprehension) n * n 의 2차원 배열을 생성해보아라 라고 했을때 나는 다음과 같이 작성했다. n = 4 arr = [] for i in range(n): arr.append([]) 파이썬 기초를 배웠다면 누구나 이해할 수 있는 코드가 완성되었다. 다만 여기서 불편한 점으로 반복문의 변수 i 가 있다. 반복문에서 사용하지 않는 변수는 _ 로 표현할 수 있다. 해당 변수는 파이썬에서 사용되지않는 변수를 의미하는 관례적 표현이다. 딱히 _ 를 사용해도 메모리를 아낄 수 있는 것은 아니다. 단순히 사용되지 않는 다는 것을 명시적으로 표시하는 것. n = 4 arr = [] for _ in range(n): arr.append([]) 리스트 컴프리헨션 파이썬에는 리스트 컴프리헨션이라는 리스트 생성 도구가 있다. 표현식 fo.. 2024. 2. 15.
python virtualenv - 폐쇄망(오프라인)에서 설치하기 파이썬 개발을 하기위해 버전관리 프로그램인 virtualenv를 사용하기로 했다. 개발환경이 폐쇄망이어서 virtualenv 설치파일 패키지로 설치해야 했다. 준비사항 python, pip 가 설치되어 있어야 함. 라이브러리 설치파일(패키지)이 있어야 함. 다음 명령어로 패키지를 설치한다. pip install --no-index --find-links="패키지경로" 패키지명 pip install --no-index --find-links="패키지경로" virtualenv 설치되었는지 확인하기 pip list 사용한 pip 명령어 알아보기 --no-index 패키지의 인덱스를 무시하고 -f, --find-links 옵션으로 지정한 url에 접근하여 다운 및 설치하는 옵션. 이 명령어 사용시 -f 또는 -.. 2023. 9. 20.
python - self 매개변수에 대해 self 매개변수 클래스를 선언하고 메소드를 작성할때 반드시 매개변수로 self 값을 받도록 해야 한다고 했다. 이에 대해 더 자세히 알아보자. 먼저 다음과 같이 클래스를 선언하고 메소드 두개를 작성했다. class Fox: def fun1(): print('fun1') def fun2(self): print('fun2') a = Fox() a.fun2() a.fun1() fun1메소드는 매개변수를 아무것도 받지 않도록 선언했고, fun2메소드는 배웠던 것처럼 self 매개변수를 받도록 선언했다. fun2() 메소드는 self 매개변수를 받도록 선언했지만 메소드 실행시 변수를 넘기지 않고 실행해도 에러가 발생하지 않는다. 하지만 fun1 메소드를 실행하면 에러가 발생한다. a.. 2023. 9. 18.