Processing math: 100%
반응형

분류 전체보기 177

[러닝 스파크] 데이터프레임 연산과 전처리

spark의 데이터프레임 연산들을 이용해 데이터 전처리, 변환, 통계 등 다양한 일을 수행할 수 있다. 다음은 몇가지 연산들과 활용 예시이다. 프로젝션과 필터 df = df.select(df.colA, df.colB) # 프로젝션 (colA와 colB만 선택) df = df.where(df.colB 10000")) # colA의 값이 10000이상이면 True를 갖는 column largeA를 추가 df = df.drop("colA") # colA 삭제 참고) alias와..

[러닝 스파크] 데이터프레임 읽고 내보내기

구조화된 외부 데이터 소스에서 데이터를 읽어 Spark 데이터프레임으로 로드하고, 특정 포맷으로 데이터프레임의 데이터를 써서 내보내기 위해 DataFrameReader와 DataFrameWriter 인터페이스를 사용할 수 있다. pyspark.sql.DataFrameReader — PySpark 3.5.0 documentation Interface used to load a DataFrame from external storage systems (e.g. file systems, key-value stores, etc). Use SparkSession.read to access this. Changed in version 3.4.0: Supports Spark Connect. spark.apache.or..

[러닝 스파크] Column과 Row

컬럼 Column 스파크 데이터프레임에서는 Column의 이름을 이용해 다양한 연산을 수행할 수 있다. pyspark.sql.Column — PySpark 3.5.0 documentation A column in a DataFrame. Changed in version 3.4.0: Supports Spark Connect. Select a column out of a DataFrame >>> df.name Column >>> df[“name”] Column spark.apache.org Pyspark에서 column에 접근하는 방식은 여러 가지가 있는데, 하나는 col("columnName") 함수를 사용하는 것,다른 하나는 df.columnName을 사용하는 것이다. 다음은 Column을 이용한 연산의..

[러닝 스파크] 데이터프레임 스키마

스파크 데이터프레임은 판다스 데이터프레임에 영향을 받아 만들어져 이름 있는 칼럼과 스키마를 가진 분산 인메모리 테이블처럼 동작한다. 스키마 Schema 스키마는 데이터프레임의 칼럼 이름과 데이터 타입을 정의한 것이다. 스키마는 데이터를 읽어들일 때 자동으로 정의되게 할 수도 있지만, 미리 스키마를 정의하면 다음과 같은 장점이 있다. 💡 스파크가 데이터 타입을 추측해야 하는 책임을 덜어 줌으로써, 스키마 확정을 위한 별도의 잡을 만드는 것을 방지한다. 💡 데이터가 스키마와 맞지 않는 경우 조기에 문제를 발견할 수 있다. 스키마를 정의하는 방법은 두가지가 있다. 첫 번째는 pyspark.sql.types에서 데이터 타입을 불러와 프로그래밍 스타일로 정의하는 것이다. 다음과 같이 각 필드의 이름과 Type을 ..

[러닝 스파크] 스파크 연산의 종류

스파크 연산의 종류 스파크 연산은 트랜스포메이션과 액션 두가지 종류로 구분된다. 트랜스포메이션은 원본 데이터를 수정하지 않고 하나의 스파크 데이터프레임을 새로운 데이터프레임으로 변형하는 것이고, 액션은 연산 결과를 내놓아야 할 때 사용된다. 각 연산의 예시는 다음과 같다. 연산 종류 예시 트랜스포메이션 orderBy, groupBy, filter, select, join 액션 show, take, count, collect, save 연산의 실행 모든 트랜스포메이션 연산은 즉시 실행되지 않고 리니지 형태로 기록된다. 액션 연산이 실행될 때 그동안 기록된 트랜스포메이션 연산들이 발동된다. 이를 통해 보다 효율적인 실행과 최적화가 가능하다. 좁은 의존성과 넓은 의존성 트랜스포메이션은 좁은 의존성과 넓은 의존..

[딥러닝 논문리뷰] AdamP: Slowing Down the Slowdown for Momentum Optimizers on Scale-invariant Weights (Naver AI Lab, ICLR 2021)

Adam의 문제점을 극복하는 새로운 optimizer인 AdamP를 제안하는 논문으로, Naver AI Lab & Naver Clova에서 ICLR 2021에 발표하였다. Paper: https://arxiv.org/pdf/2006.08217.pdf Project page: https://clovaai.github.io/AdamP/ Code: https://github.com/clovaai/adamp 1. Adam의 문제점 요약: Adam을 비롯한 momentum-based gradient descent optimzer들은 학습 도중 weight norm을 크게 증가시킨다. 그 원인은 다음과 같다. 대부분의 모델들에서 Batch normalization 등의 normalization 기법들을 사용해 we..

/etc/profile, /etc/bash.bashrc, ~/.bashrc, ~/.bash_profile 파일의 차이점

유저가 로그인할 때, 다음과 같은 순서로 bash 설정파일들을 읽게 된다. 1. /etc/profile 실행: 시스템 전역에 대한 환경설정. 일반적으로 다음을 수행한다. - /etcbash.bashrc 실행 → 시스템 전체의 non-login shell 환경설정 - /etcprofi.d 디렉토리 안의 추가 설정 스크립트를 실행. 2. ~/.bash_profile, ~/.bash_login, ~/.profile 중 하나 실행: 개인 환경 설정 - 일반적으로 ~.bashrc를 실행한다 - 이렇게 하면 login shell과 non-login shell 모두에서 ~.bashrc를 사용할 수 있다.

HuggingFace Space 만들기

HuggingFace Space는 간편하고 쉽게 ML 데모 앱을 만들 수 있는 공간이다. Spaces - Hugging Face Spaces Discover amazing ML apps made by the community! huggingface.co Space들의 예시는 다음과 같다. 1: text-to-image Rich Text To Image - a Hugging Face Space by songweig huggingface.co 2: chat-with-GPT4 Chat-with-GPT4 - a Hugging Face Space by ysharma huggingface.co 본 글에서는 이러한 HuggingFace Space를 만드는 법에 대해 간략히 소개하고자 합니다. 보다 자세한 설명은 공식..

PyTorch 2.0에서 달라지는 점 - torch.compile

PyTorch 2.0 Overview pytorch.org PyTorch 2.0은 22년 12월 PyTorch Conference에서 발표되었고, 23년 3월 정식 릴리즈 되었다. 이전의 PyTorch 1.x 버전들보다 빠르고, Pythonic하고 Dynamic하다고 한다. 어떤 점들이 달라졌을지 한번 알아봅시다. torch.compile torch.compile은 PyTorch 2.0의 메인 API이다. 모델을 미리 컴파일하여 속도를 높이는 기술이다. torch.compile은 TorchDynamo, AOTAutograd, PrimTorch, TorchInductor 네 가지의 새로운 기술을 기반으로 만들어졌다. 각 기술에 대한 자세한 설명은 여기에서 찾아볼 수 있다. 사용법 torch.compile은..

폴더별로 환경변수를 설정할 수 있는 direnv

https://github.com/direnv/direnv GitHub - direnv/direnv: unclutter your .profile unclutter your .profile. Contribute to direnv/direnv development by creating an account on GitHub. github.com direnv는 폴더별로 환경변수를 다르게 설정할 수 있는 툴이다. 1. 설치방법 apt-get install direnv #Linux brew install direnv #MacOS 2. shell에 hook 설정 사용하는 shell의 종류에 따라 hook을 설정해 주어야 한다. 2.1. bash vi ~/.bashrc #맨 아래에 다음 내용 추가 eval "$(dir..

반응형