1) 일단 내 계정으로 접속

2) sudo -i 로 root 계정으로 변환하기

3) sudo useradd [newuser_name] 로 사용자추가 해주기

3) su - [newuser_name] 로 신규 유저계정으로 접속

4) 아무것도 없어서 그냥 mkdir ~/.ssh   + vi authorized_keys 로 파일 생성해주기

5) new user한테 rsa키 ( ~/.ssh/id_rsa.pub) 받아서 복붙넣어주기

6) new user가 이제 서버에 ssh 접속할수 있음 끝~

해결방법1 : numpy를 1.23미만으로 다운그레이드

해결방법2 : 사용하는 함수를 최신것으로 업데이트.

stackingregressor 은 이미 있는 모델들 여러개를 합쳐서 사용하는 메타모델

 

sequential로 만든 모델을 그대로 넣어주면 에러남.

 

1. 아래처럼 KerasRegressor 로 감싸주고 집어넣어줘야함.

2. 맨위에 import KerasRegressor 설치&추가해주면됨.

 

from keras.wrappers.scikit_learn import KerasRegressor
from sklearn.ensemble import StackingRegressor

from keras.wrappers.scikit_learn import KerasRegressor
dnn_estimator = KerasRegressor(build_fn=build_dnn_model(epochs=300, batch_size=16, verbose=1))
estimators = [('br', linear_model.BayesianRidge()),('dnn',dnn_estimator)]
reg = StackingRegressor(estimators=estimators,final_estimator=RandomForestRegressor(n_estimators=10,random_state=42))
reg.fit(train_x, train_y)
reg_pred = reg.predict(test_x).reshape(-1, 1)

 

데이터는 kaggle 주택데이터 사용했고 데이터 다운은 아래 더보기 클릭 

 

X      = train_data[features]
y      = np.log1p(train_data["SalePrice"]) # log1p !!!!!!!!!!!
X_test = test_data[features]
y_true = solution["SalePrice"]
import pandas as pd
import numpy  as np
from pytorch_tabnet.tab_model import TabNetRegressor
from sklearn.model_selection import KFold

pd.set_option('display.max_columns', None) # dataframe 잘림없이 출력
pd.set_option('display.max_rows', None)
pd.set_option('display.max_seq_items', None) # 리스트 잘림없이 출력
pd.options.display.float_format = '{:.5f}'.format  # e, 지수없이 출력
pd.set_option('display.max_colwidth', -1) #pd로 볼때 ...없이 출력
import warnings # warning 무시
warnings.filterwarnings('ignore')
pd.set_option('mode.chained_assignment',  None) # SettingWithCopyWarning 경고끄기
train_data = pd.read_csv('./train.csv')
test_data  = pd.read_csv('./test.csv')
sample     = pd.read_csv('./sample_submission.csv')
solution   = pd.read_csv('./solution.csv')

print(len(train_data))
print(len(test_data))
print(len(sample))
print(len(solution))
features = ['LotArea', 'OverallQual', 'OverallCond', 'YearBuilt', 
            'YearRemodAdd', 'BsmtFinSF1', 'BsmtFinSF2', 'TotalBsmtSF', 
            '1stFlrSF', 'LowQualFinSF', 'GrLivArea', 'BsmtFullBath', 
            'BsmtHalfBath', 'HalfBath', 'BedroomAbvGr',  'Fireplaces', 
            'GarageCars', 'GarageArea', 'WoodDeckSF', 'OpenPorchSF', 
            'EnclosedPorch',  'PoolArea', 'YrSold']
X      =      X.apply(lambda x: x.fillna(x.mean()),axis=0)
X_test = X_test.apply(lambda x: x.fillna(x.mean()),axis=0)

X      = X.to_numpy()
y      = y.to_numpy().reshape(-1, 1)
X_test = X_test.to_numpy()

# 결측지 해결
X = np.nan_to_num(X) 
X_test = np.nan_to_num(X_test) 
y = np.nan_to_num(y) 
y_true = np.nan_to_num(y_true)
kf = KFold(n_splits=5, random_state=42, shuffle=True) # 5개로 나누기
predictions_array = []
predictions_array2 = []
CV_score_array    = []
for train_index, test_index in kf.split(X): # train_index는 kfold1회에서 train조합, test_index는 테스트조합
    X_train, X_valid = X[train_index], X[test_index]  # train,valid 조합을 나나눠줌
    y_train, y_valid = y[train_index], y[test_index]  # y도 마찬가지
    regressor = TabNetRegressor(verbose=0,seed=42) # 모델정의
    regressor.fit(X_train=X_train, y_train=y_train, # fit + eval_set 추가
              eval_set=[(X_valid, y_valid)],
              patience=300, max_epochs=2000, #patience=성능이좋지않은 epoch 300번이상 반복되면 그마해라
              eval_metric=['rmse'])
    CV_score_array.append(regressor.best_cost) # 5회반복중에 가장좋은점수 저장저장
    predictions_array.append(np.expm1(regressor.predict(X_test)))
predictions = np.mean(predictions_array,axis=0)
print("The CV score is %.5f" % np.mean(CV_score_array,axis=0) ) # cv score 평균값
# from sklearn.metrics import mean_squared_log_error
# RMSLE = np.sqrt( mean_squared_log_error(y_true, predictions) )
# print("The LB score is %.5f" % RMSLE )

def mape(y_test, pred):
    y_test, pred = np.array(y_test), np.array(pred)
    mape = np.mean(np.abs((y_test - pred) / y_test))
    return mape

print(mape(y_true, predictions)*100)

 

 

여기서 y값에 log1p해주고 마지막에 expm1 해주는이유가 궁금했는데

 

 

Q. log말고 log1p해주는 이유?

로그그래프는 아래 그림처럼 0에 가까운 매우 작은수의 경우 무한 음수로 바뀜. 그래서 데이터보면 -Inf상태로 바뀌는걸 볼수가 있음. 그래서 이걸 방지하기 위해 1을 더해주어 방지하는것임.

Q. 굳이 log 씌워서 진행하는 이유?

데이터가 어떤 구간에 엄청 몰려있는 경우가 있음. 이럴때 log를 씌워주면 정규분포 비슷한 형태로 만들어줄수가 있음. 데이터 불균형을 풀어주기위한 방법

 

 

 

 

참조 

 

AWS 가서 10-5시까지 Sagemaker 강의?워크샵? 듣고 왔다.

 

Workshop Studio

 

catalog.us-east-1.prod.workshops.aws

ㄴ 실습링크

 

강의순서는 다음과같았다.

1. Sagemaker Canvas

2. Feature Engineering

3. Bring Your Own Script

4. Bring Your Own Container

 

Sagemaker Canvas는 이전에 해봤던거라 중복이라 패쓰

 

2. Feature Engineering 부분에서 Sagemaker Data Wangler를 사용해서 실습을 진행했어서 이부분만 위주로 살펴보고자함

 

워크샵에서 아래 실습으로 진행했다. 그런데 리뉴얼되면서 중간중간 사진이랑 다른부분이 꽤 많았음. 달랐던 부분만 사진 첨부했다.

 

Workshop Studio

 

catalog.us-east-1.prod.workshops.aws

 

DATA Wrangler가 어디있나 한참 찾았음..ㅋㅋ
아이콘이랑 우클릭이 좀다른데 기본적인 기능은 동일한거같다.
add analysis 하고 저장하면 저렇게 가지가지 생긴다.
설명서에는 줄줄이 소세지처럼 보이지않고 뒤에 4개가 다 모여있다. 그냥 제일긴줄에서 맨뒤에있는거 플러스 클릭하고 진행하면된다

 

데이터 분석은 아래 예시처럼 피처별로, 여러 방식대로 선택해서 볼수 있다.

또 아테나에서 쿼리날려서 볼수도 있음.

 

 

[ Data Wangler 개인적으로 느꼈던점 ]

장점 :

  • 데이터 전처리할때 클릭으로만으로도 진행가능한게 (원핫인코딩,컬럼빼기,데이터합치기등등) 간단해서 좋다.
  • 히스토그램이나 scatter 일일히 피처마다 그리기 귀찮은데 그걸 알아서 클릭만하면 그려주기 때문에 데이터 분석할때 시간적으로 가성비가 진짜 최고인듯하다. (클릭클릭만 하면 꽤 괜찮아보이는 그래프 그려주고 한눈에 보기에도 좋음)

단점 : 

  • 파이썬 코드를 집어넣어서 진행하는 전처리는 사실 쥬피터에서 하는게 더 나아보였다.  
  • 데이터 분석까지는 최고인데 데이터 전처리부분은 사실 완벽하지는 않은 느낌이였음.

 

 

 

그외에 3. Bring Your Own Script, 4. Bring Your Own Container 시간에는 아래 실습을 진행했다.

일단 하라는대로 돌리긴 다돌렸는데 100% 다 이해하진 못했음.

 

Workshop Studio

 

catalog.us-east-1.prod.workshops.aws

 

아직까지는 연구실 서버는 공짜인데 sagemaker 쥬피터랑 콘솔을 쓰면 하나부터 열까지 돈이라 부담스럽고 비싸서 실제로 서버대용으로 사용하지는 못할거같다...

 

 

 

 

[ 그리고 강의에서 공유해주신것들 ]

  • 앵간한 코드는 여기서 복붙하면된다고 알려주신 사이트
 

1. Introduction — Dive into Deep Learning 1.0.0-beta0 documentation

 

d2l.ai

  • 실습링크보다 더 다양한 example이 있어서 참고하라고 알려주심
 

GitHub - aws/amazon-sagemaker-examples: Example 📓 Jupyter notebooks that demonstrate how to build, train, and deploy machine

Example 📓 Jupyter notebooks that demonstrate how to build, train, and deploy machine learning models using 🧠 Amazon SageMaker. - GitHub - aws/amazon-sagemaker-examples: Example 📓 Jupyter notebooks...

github.com

 

'<Cloud> > AWS' 카테고리의 다른 글

AWS Spot Instance Start  (0) 2024.03.29
[EC2 CLI] aws ec2 run-instances  (0) 2022.07.11
AWS 보안서비스 종류들  (0) 2022.05.19
AWS ECS 간단이해  (0) 2022.05.18
Lamdba Cold start 예방하는 방법 2가지  (0) 2022.05.18

 

0 day 토요일


인천공항에서 10시간정도타서 시애틀공항에 도착, transfer로 4시간정도 머물다가, 또 2시간반가량을 뱅기를 또타서 라스베가스에 도착했다. 시차적응을 하기위해 잠을 자지않았다. (그냥 통으로 비행기에서 자지않는걸 추천한다. 갈때 이방법으로 잠을 1도 안잤는데 걱정했던것에 비해 시차적응을 꽤 잘한 편인것 같다.) 토요일날은 저녁에 도착해서 짐을 풀고 주변 지리를 익힐겸 메인 스트릿을 돌아다녔다. 라스베가스에 도착해서 느꼈던 첫인상은 엄청 화려하다 + 대마냄새가 시도때도 없이 난다는것과, 슈퍼마켓에 초콜렛종류가 어마어마하게 많다는거였다

 

1 day 일요일


이날은 아침일찍 노스아울렛 구경갔다가 , 저녁에 리인벤트 명찰표를 수령하고 한국고객의밤에 참석했다.

노스아울렛은 정말 크고 싸고 보는 재미가 있었다. 관광객보다는 가족단위 현지인들이 더 많았다. 약간 파주 아울렛같은 느낌? 우리가 간날이 블랙 프라이데이라 기본 50프로 세일에 추가 15프로 할인까지 해줬다. 가격이 진짜 안사면 호구 수준으로 쌌다.
후기보면 가방을 많이 사던데 의류가 정말 싸고 득템거리가 많았다. 내꺼 살려는건 죄다 사이즈가 없고 그래서 부모님꺼만 두개 샀는데 진짜 싸게 잘산거같다.

저녁에는 베네치안호텔가서 명찰표를 수령하고, swag 라고 aws reinvent 굿즈를 수령했다. (굿즈는 후드집업, 벳지3개,물병) 그리고 명찰표를 매고 하드락카페에서하는 한국고객의밤이라는 이벤트에 참여했다. 밥은 고냥 고랬고 맥주를 계속 가져다주셔서 좋았다ㅎㅎ 끝나고 바로옆에 m&m 스토어도 들렀다. 여기 굿즈들 쓸데없이 정말 비쌌다... 초코는 슈퍼마켓가서 사는게 더 싼듯하다.

 

2 day 월요일


리인벤트 첫날! 걱정했던것과는 다르게 안내하시는 분들이 파란옷에 깃발까지 꼽고 가는길마다 진짜 촘촘하게 서있으셨다. 셔틀 어디서 타냐고 물어보니 다들 친절하게 안내해주셨다.

이날은 첫날이라 같이 이동하기위해 mgm호텔에서만 강의를 들었다. deepracer가 제일 처음 들은거였는데 실습형이였다. 살짝 당황스러웠던건 강의가 2시간짜린데 트레이닝하는데만 한시간이 소요되었고 그걸 아무것도 안하고 기다려야했다는점?이였다ㅋㅋ. 그래서 주변사람들이 트레이닝 끝났냐 계속 물어보고 스몰톡하다 도중에 많이들 탈주했다. 이건 그냥 내 의견인데 본인이 영어를 잘 못한다면 실습형? 강의위주로 듣는걸 정말로 추천한다. 하란대로 따라하면 되니까 쉽고, 무료 크레딧도 준다.(해당기능에서만 사용가능한 크레딧이긴 하지만) 그외에 nvidia에서 하는강의, ML관련 강의2개를 들었는데 저녁이 되었다. 풀강수업인 날처럼 힘들었다 ㅎㅎ;;


끝나고 베네치안 호텔로가서 엑스포안에서하는 기업박람회같은걸 구경했다. 누구나 아는 회사부터 시작해서, 완전 처음들어보는 스타트업 기업들까지 부스가 어마어마하게 많았고, 본인들 회사 굿즈들을 나눠줬다. 이날은 너무 힘들어서 간단히 돌면서 스티커랑 양말정도만 받아왔다.(담날 또감)

 

3 day 화요일

이날은 아침에 키노트를 들으러 베네치안에 갔다. 8시반부터 시작인데 그전부터 밴드가 열창하고 있었다. 진짜 그렇게 큰 강의는 처음이였다. 스케일이 정말 압도적이였다. aws 대표가 나와서 분야별로 새로 이러이러한게 등장할거다 성능이 정말 좋다! 설명하면 사람들이 와!! 쨕쨕쨕 박수쳐주고, 중간중간 기업대표들이 나와서 본인들이 aws를 써서 코스트를 얼마나 절약했고~ 얼마나 빨라졌고~ 자기네 회사는 머하는 회사고~ 설명하고 내려갔다. 키노트를 다 듣고나서는 각자 듣고싶은 강의 들으러 찢어졌다. 나는 전날 감질나게 본 기업박람회?를 재방문했다. 같은 베네치안호텔인데다 바로 옆방?이라 이동이 용이했다. 거의 2시간넘게 돌아다니면서 양말, 티셔츠, 인형등등 굿즈들을 쓸어담아왔다. 거기서 할수있는 모든 체험들은 다하고온것같다. 인형뽑기 하는 부스도 많았고, amd에서는 4인팀전 vr 게임하고 이어폰도 받았다.인형탈이랑 사진도 찍었다 ㅎㅎ 졸작때 사용해서 먼가 내적 친밀감이 느껴졌던 엘라스틱부스는 전날 왔었던걸 알아봐서 굉장히 머쓱했다. 데이터독이라는 회사는 처음 들어봤는데 설명을 엄청 잘해주셔서 인상깊었었다. ( 끝나고 한국오면 내가 방문했던 부스들에서 리인벤트에서 우리 봤져? 더알아볼려면 이걸 눌러바 하고 메일 폭탄이 온다 ㅎㅎ)가방한가득 굿즈들을 쓸어담고 배고파서 공짜밥 먹으러 내려갔다. 공짜밥을 생각보다 엄청 잘줬다. 탄단지구성이 알찬 느낌..? 커피두 주고 음료수도 주고, 도넛같이 밖에나가서 먹을수있게 밀키트도 주고 할랄음식존도 따로 있었다.

밥먹고 앙코르 호텔로 이동해서 샘숭에서하는 강의를 들으러 갔다. 내용은 현재 내가 하는주제랑은 거리가 멀었지만 그래도 국뽕이 차올랐다. 그거랑 바로옆에서 하는 강의 하나 더듣고(듣다 살짝 졸았다..ㅋㅋ) 저녁에는 다운타운으로 관광하러갔다. 아 그리고 리인벤트에서는 옷정말 편하게 입고 다니는걸 강추한다... 정말 사람들 체크셔츠에 청바지, 츄리닝 입고 너무 후리하게 다녀서 그냥 강의들으러 다닐때는 여기서 나눠주는 후드집업 입고다니는게 편하고 좋은거같다. (자켓에 깜장청바지 입었더니 직원분들이 옷 이뿌다고 하루종일 칭찬감옥에 가두고, 모르는사람이 갑자기 오더니 나이스 수트~ 따봉 날려주고감 ㅎㅎㅎㅎㅎ) 저녁에는 다운타운에 있는 페더레이션 스트릿 구경했다. 저녁밥은 근처에 타이음식점갔는데 정말 맛있었다. 



4 day 수요일


오전에 윈호텔에서 8시반에 하는 trn1 관련 강의랑 다른강의1개도 들었는데 점심쯤에 몸이 갑자기 너무 안좋아졌다. 약간 오한이 들고 진짜 힘들어서 죽을거같길래 숙소로 돌아가서 2시간정도 낮잠 자고 쉬다 다시 나왔다. 화이트캐슬이라고 숙소 바로옆에 햄버거집에서 점심도 사갔는데 군데리아4개를 줬다. (역시 한국에 안들어온건 다 이유가 있다 맛이 없었다...!)

저녁에 교수님이 밥도 사주셨다. 힐튼호텔은 최근에 지어서 그런지 혼자 라스베가스 특유의 호텔느낌이 안나고 타임스퀘어같은 느낌이였다. 다른 호텔들은다 금색!! 빨간색!!카페트!!화려!! 이런느낌이라면 힐튼혼자 화이트!밝음!!깔끔!!! 이런느낌?


 

5 day 목요일

이날 아침에는 베네치안에가서 둘이서 사진찍고 각자 찢어졌다.
이날은 제일 먼 호텔인 만달레이가서 강의를 들었다. 가서 코드 카탈리스트라는걸 알게되었는데 협엽용 툴로 엄청 좋아보였다. 플라스크랑도 연계되고 vs code, 깃허브랑도 연계되는데 먼가 대학졸작할때?쓰면 좋을것같아보였다. 만달레이서만 강의 몇개 듣고 숙소 오는길에 롤러코스터 타러 뉴욕뉴욕 호텔에 들렀다. 뉴욕뉴욕 호텔은 지은지 좀 오래되서 아침에 갔는데도 분위기가 좀 무서웠다. 롤코자체는 징말 재밌었다. 적당히 무섭고 적당히 길어서 돈값은 한것같다($19). 도심롤코라 풍경이 정말 이쁘고 좋았다. 그리고 오는길에 고든램지버거 사와서 숙소에서 먹었다. 와 진짜 그냥 매장에 들어가서 먹는걸 추천한다. 웨이팅도 거의없었는데 포장 30분 기다림 ^^ㅋㅋㅋㅋㅋ 핼스키친 버거 먹었는데 대기시간도 길었고,너무 비싸서 좀 짜증났지만 웃기게도 정말루 맛있었다..ㅋㅋ

 

저녁에는 리플레이 파티에 참석했다. 야외 파티이고, 규모가 거의 축구장 수준으로 컸다. 역시 스케일... 총기류때문인지 가방은 소지가 불가했다. 셔틀타는곳앞에 끝이없도록 길게길게 줄을 서있었다. 총 3개 천막으로 되어있는데 하나는 디제잉, 하나는 가수, 하나는 게임용이였다. 아 진짜 90프로가 공대 아저씨들이었는데 다양한 인종과 나잇대의 아저씨들이 맥주를 들고 신나고 소심하게 둠칫둠칫하는 모습이 먼가 다들 귀여우시고 웃겼다 ㅋㅋㅋㅋ




6day 금요일



이날은 리플레이파티 갔다와서 자정되자마자 그랜드 캐년 투어 버스타러 나갔다. 잠은 투어버스에서 잤다 ㅎㅎ
혼자가서 가이드분이 각도별로 사진을 엄청 찍어주셨는데 진짜 인생사진 정말 많이 건졌다. 투어인원중 리인벤트보러온사람들도 있었다. 
그랜드캐년에서 동트는걸 봤는데 진짜 너무 졸리고 미치게 추웠지만 정말 멋졌다. 훌수슈 밴드에서는 사진찍는데 모래바람 부는게 심상치않아서 진짜 좀 많이 무서웠다 호달달...

 저녁 7시에 도착해서 짐 싸고, 마지막으로 인앤아웃 버거를 사와서 먹었다. (미국와서 햄버거만 먹고가는기분...)

 

 

 

7 day 토요일,일요일

새벽6시반 비행기라 새벽2시에 우버타고 공항으로 갔다. (이틀연속 잠을 제대로 못잤다ㅠㅁㅠ) 가서 면세점 들러서 남은 달러들도 털고왔다. ( 미국 면세점 정말 비추다 비추 한국정가랑 크게 차이없다. 오히려 대한항공 기내 면세점이 더 싸다.) 올때도 시차적응을 위해 한숨도 안잤다.

 

일요일저녁에 도착해서 담날부터 일상으로 돌아갔다. 리인벤트에서 느꼈던건 진짜 영어 진짜 목숨걸고 열심히 해야겠다 였다...
내가 영어를 좀더 잘했다면 강의듣기 말고도 친목을 다질수 있었던 세션이나, 팀플처럼 팀지어서 하는 세션들도 참여할수 있었을텐데, 나를 엄청 어필할수도 있고 강의듣고 질문도 할수 있었을텐데, 미국 직장인들 생활은 어떤지 물어보고도 싶었는데 후회가 정말 많았다. 그리고 매일매일 강의 들은갯수는 엄청나게 많았는데 영어를 잘 못해서 반도 이해를 못한게 많은것 같다. 너무나 아쉬웠다...  질문같은것도 하고싶었는데 ㅜㅜ 그래도 피피티를 넘길때마다 찍어온덕에 다시보고 겨우 조금 이해함.

두번째는 내가 진짜 시야가 좁았다는게 체감되면서 좀 부끄러워졌다. 새로운 기능들에 관심 가지고 시야를 넓혀서 나한테 도움이 될지 안될지 항상 관심있게 찾아보고 능동적으로 사용해야하는데 그러지 못했던게 체감되어서 반성했다.
진짜 세상은 내가 생각했던것보다 더 넓었고 너무 주눅들지말고 좀더 열심히하고, 목표를 크게가지고, 영어공부를 진짜 열심히 하자! 매해마다 어느정도 영어실력이 이전보다는 늘어서 외국인이랑 대화에 전혀 불편함 느끼지 않을수준까지 갈수 있게 공부했으면 하고,항상 넓은 시야를 가지고 능동적으로 살자 화이팅팅!


 

 

 

 

 

 

기타 느낀점?들
** 정말 아무도 마스크를 쓰지않아서 마스크 쓰는사람이 외려 튀고 이상해보였다....ㅋㅋ 마스크벗고 계속 기침하는사람도 많았다...!!
** 우리나라사람들이 정말 빠르긴한거같다. 공항이랑 음식점에서 가장 극단적으로 느꼈다 ㅎㅎ
** 쏘리를 입에 달고다녀서 나도 집갈때쯤 습관적으로 쏴리~ 하게됨
** 칭찬이 습관인듯하다. 안내해주시는분들이 정말 작은것하나도 칭찬해주셨음.
** 옆사람한테 말거는게 일상이라 여긴 외향형만 살아남을수 있는건가 싶어졌다.
** 진짜 먹을게없고, 전체적으로 너무 달고 너무 짜고, 신선식품 찾기가 너무 힘들었다. 먹을게 정말 너무없어서 햄버거만 먹고왔다.(버거킹 맥날도 여러번먹음)
** 우리나라에서 중국사람 보이면 중국사람 이야기하는것처럼 코리안들 어쩌구 저쩌구 이야기하는것들 종종 들었다. 좋은 뉘앙스는 아녔다.
** 남녀노소 옷잘입고 잘 꾸민사람들은 대체로 한국 사람들이였다ㅎㅎ

** 롤코 탈때 혼자 타려고 기다리고 있었더니 직원이 죽이게 무섭다고 제스쳐로 자꾸 겁을 줬다 ㅋㅋㅋㅋ

** 스벅 베이커리 메뉴이름이 정말 정직하다. 치즈빵은 정말 안에 치즈밖에 안들어있었고, 치즈토마토 파니니는 치즈랑 토마토밖에없었고, 햄 파니니는 햄이 엄청 곂쳐져서 햄만 들어있었다ㅋㅋㅋㅋ 근데 빵이 전부 버터맛나고 엄청 바삭바삭해서 맛있었다.

** 스벅 톨사이즈로 거의 맨날 사먹었는데 여기서는 거의 안시키는 사이즈였나보다. 메뉴판에도 그란데부터 있고, 지나가는사람들은 저것좀 보라고 큐티한 사이즈다~하고, 주문받을때도 자꾸 되물어보고 그랬다.

** 동전이 너무 많이 생겨서 그냥 깔끔하게 카드쓰는게 더 나은것같았다. 

** 팁이 헷갈리면 닥 카드추천. 카드결제하면 팁 몇퍼 줄거냐고 15%,20%,25% 이렇게 뜨고 선택을 해야만 결제되는 방식이라, 팁줘야되나 말아야되나 궁금할떈 닥 카드가 편했다. (심지어 우버도 자동결제 카드였는데 앱내에서 팁 선택이 가능했다.)

** 리인벤트 행사장 들어갈때마다 마약탐지견이랑 금속탐지기를 지나가야했고 가방검사도 한번했었다. 

** 만달레이랑 mgm은 딱히 볼만한게 없었고, 윈,앙코르,베네치안 호텔은 구경하기 좋았다.

** 숙소는 베네치안근처가 좋은것같다. 셔틀도 있긴 한데 그냥 여차하면 걸어서 이동했었고 오전에 하는 키노트 세션들으러갈때 그냥 걸어갔는데 편하고 좋았다.

 

**리인벤트에서 들은건데 미천한 영어실력으로 다 못알아들음 + 빤한 내용이지만 그래도... 정리차원으로 그냥 메모장대신올림

 

1. 어떤 환경을 선택해야 최적의 선택일지?를 결정하는게 중요, 여기에는 여러가지 조건들이 따르는데

  • 분산처리인지, 싱글 gpu 사용해야하는지? 데이터셋이 어떤지, 큰모델인지, 파라미터수가 엄청나게 큰지 등등
  • (spoiler : ec2 ultra clusters)

2. 크게 3가지로 분류해서 봄 : 트레이닝과추론/추론/트레이닝

3. cpu만가지고 학습할때는 gravition3 추천

  • gravition3 : for machine learning
  • c6g < c7g

4. accelerated instances for training

  • (1) 하바나 가우디를 사용하자
  • (2) trn 인스턴스 사용하자 → 매우 좋은 성능그리고, 왕싸다
    • gpu보다 더 낫다
    • ec2중에서 매우 빠르다.
    • trn1 trn1n 인스턴스
    • 슈퍼컴에도 들어가있음
    • p4dn보다 훨씬 나은 성능

5. distributed training을 시도해보자~

  • tensor parallellsm
  • pipeline parallellsm

6. sage maker를 사용하자

  • 큰 데이터셋은 sagemaker cluster 사용하자

7. aws FSx를 사용하자 (고성능 파일 시스템)

8. 추론할거면 inf1를 사용하자 (성능굿굿이다~)

 

 

 

Havana Gaudi ( 작년에 나왔고, 멀티gpu 작업에 조금더 적합함 )

 

Trn1 ( Trainium 칩) 

AWS Trainium 칩으로 구동되는 Amazon EC2 Trn1 인스턴스는 비교 가능한 GPU 기반 인스턴스 대비 최대 50% 저렴한 훈련 비용으로 고성능 딥 러닝 훈련을 실행할 수 있도록 특별히 구축됨. 주요 자연어 처리(NLP) 모델에서 최고의성능을 보인다함. EC2 ultraclusters에 배포되고 fsx 를 사용하면 정말 적은 지연시간과 처리량을 제공하는 공유 스토리지에 엑세스 가능하다고함. 또 Trn1 인스턴스는 격리된 다중 테넌시, 프라이빗 네트워킹 및 빠른 로컬 스토리지 제공을 간소화하는 AWS 설계 하드웨어 및 소프트웨어 혁신 모음인 AWS Nitro System 에 구축됨.

 

Fsx 

Fsx를 사용해서 ec2안의 파일을 윈도우컴에 백업가능

참조 ( ec2 linux 인스턴스에서 파일시스템 탑재) : https://docs.aws.amazon.com/ko_kr/fsx/latest/ONTAPGuide/getting-started-step2.html

Amazon FSx for Windows File Server 튜토리얼: https://docs.aws.amazon.com/fsx/latest/WindowsGuide/getting-started.html

참조 블로그https://dev.classmethod.jp/articles/try-creating-a-file-system-with-fsx-for-windows-file-server/

 

2022 aws 리인벤트에서 알게된걸로 

 

- H100 gpu가 신규gpu로 곧 출시한다고한다 ( https://www.nvidia.com/ko-kr/data-center/h100/ )

- 또 Tao toolkit이라는게 있다는걸 새롭게 알게되었다. (https://developer.nvidia.com/ko-kr/tao-toolkit

- 또 nemo megatron 이라는것도 새로 출시한다는데 NLP 모델같이 좀많이 큰 모델전용인듯하다.

 

- TAO Toolkit은 학습과 관련된 hyperparameter들을 수정하여 custom AI model을 생성할 수 있고 또한 CV 모델에서 model pruning을 통해 모델의 전체 크기를 줄일 수도 있다. 

 

 

TAO Toolkit 이란 ?

TensorFlow 및 PyTorch를 기반으로 구축된 NVIDIA TAO Toolkit은 AI/딥 러닝 프레임워크 복잡성을 추상화하여 모델 트레이닝 프로세스를 가속화하는 NVIDIA TAO 프레임워크의 로 코드 버전입니다.TAO Toolkit을 사용하면 AI 전문 지식이나 대규모 트레이닝 데이터 세트 없이도 전이 학습을 활용하여 NVIDIA 사전 학습 모델을 자체 데이터로 미세 조정하고 추론을 최적화할 수 있습니다.

또한 자신의 데이터로 pretrained model을 fine-turning하고 edge device를 통해 TensorRT 기반 inference를 위해 export 할 수 있는 Python package

 

Transfer learning 전이학습이란?

cnn으로 학습을 시키기위해서는 엄청나게 많은 양의 데이터가 필요함. 그런데 이걸 처음부터 학습시키기에는 돈과 시간이 부족함. 그걸 해결하기위해 사용한게 전이학습. 이미 많은 데이터를 가지고 pre-trained 모델을 가지고와서 조금 튜닝해서 사용하는것. 적은 데이터를 가지고 추가트레이닝을 시키고 가중치를 미세하게 조정시키거나 마지막 출력게층을 손봐서 조금만 수정하고 이 변경된 레이어만 다시 재트레이닝시키는걸 말함.

 

TensorRT란?

학습된 딥러닝 모델을 최적화하여 NVIDIA GPU 상에서의 추론 속도를 수배 ~ 수십배 까지 향상시켜 딥러닝 서비스를 개선하는데 도움을 줄 수 있는 모델 최적화 엔진. 흔히들 우리가 접하는 Caffe, Pytorch, TensorFlow, PaddlePaddle 등의 딥러닝 프레임워크를 통해 짜여진 딥러닝 모델을 TensorRT를 통해 모델을 최적화하여 TESLA V100 같은 NVIDIA GPU 에 올린다.

 

Tao toolkit 예제는 이거 참조하면될듯?

https://catalog.ngc.nvidia.com/orgs/nvidia/teams/tao/resources/cv_samples/version/v1.3.0/files/detectnet_v2/detectnet_v2.ipynb 

 

 

 

 

 

 

 

 

2022 aws 리인벤트에서 처음 알게된 기능.

팀협업툴로 엄청 좋아보였다.

여러사람들이 각자 다른 환경들에서 공유된 코드로 프로젝트를 진행할수있게 해주는 툴이라고한다.

GIthub , VS code, jetbrains, Flask 와도 연계가  가능하고 사람들과 코드를 공유하며 cloud9에서 바로 코드 실행이 가능, vs code에서도 연계해서 바로 불러와서 실행이가능하다고한다. 

약간 기존에는 깃허브 코드를 클론해서 로컬에서 돌리고 변경사항이 생기면 푸쉬해서 풀리퀘하고 이런식이였는데 

코드 카탈리스트를 쓰면 클라우드내에서 코드를 푸쉬,클론 해가면서 수정하고, 그 코드를 cloud9같이 클라우드내에서 바로 돌려보고 이런식으로 협업하는 툴느낌?이였다. 

프로젝트를 블루프린트라고 하며 여러가지 블루프린트들 선택해서 쓸수있다고한다.

졸작 프로젝트할때 쓰면 정말좋을것 같아 보였다...

 

 

aws 리인벤트 에서 진행해본 실습 (아래 따라하면된다)

30달러 크레딧도 줬다 ( deep racer 에서만 사용가능)

(트레이닝에만 1시간 걸려서 인내심이 조금 필요하다..ㅎㅎ)

evo 라는 차량을 사용하는데 가상의 차량인줄알았는데 실제로 똑같이 생겼다.

 

Workshop Studio

 

catalog.workshops.aws

이거 따라하면 됨.

 

자습서 - 자동으로 기계 학습 모델 생성 - Amazon Web Services

닫기 피드백을 제공해 주셔서 감사합니다. 피드백은 AWS 경험을 개선하는 데 도움이 됩니다. 피드백에 대한 자세한 정보를 제공하려면 아래의 피드백 단추를 클릭하세요.

aws.amazon.com

 

- 데이터 머지도 그냥 데이터 불러와서 가능

- x, y 도 버튼만 누르면 알아서 분리

- 데이터 분석도 코드 안써도 알아서 분석해줌

- 파이썬으로 일일히 value_count() 안해도 알아서 컬럼별로 value리스트를 보여줌

- 안쓰는 컬럼도 그냥 버튼만 눌러서 제외하기 가능

 

<장점>  :

1. 데이터분석할때 sagemaker 사용하면 코드안짜도 알아서 분석해줌 , 데이터분석에 시간절약 완전 가능

2. 퀵빌드 를 통해 어떤 컬럼들을 사용해야 좋은 결과가 나오는지 대략적으로 먼저 확인하고 본 모델에 적용할수 있는듯, 본모델에 넣어보기전에 대충 어느정도 정확도가 나오는지 확인할수 있어서 좋은듯하다.

<단점> :

1. 어떤 모델을 쓰는지 알수가 없음, 모델을 디테일하게 조정할때는 적합하지않음

2. 대규모 데이터는 못올림

 

FLOPS vs FLOPs

  • FLOPS Be careful All capitals yes floating point of per second Abbreviation , Floating point operations per second . It can be understood as computing speed , Used to measure the performance of hardware . (=하드웨어성능측정)
  • FLOPs yes floating point of operations Abbreviation , Is the number of floating point operations , It means the amount of calculation , It can be used to measure the algorithm / Model complexity .(=모델 연산량측정, floating point operations )

 

FLOPS vs MAC(Multiply–ACcumulate)

  • FLOPs 는 덧셈과 곱셈을 하나의 연산으로 본다
  • 1 MAC = 2 FLOPs(덧셈1,곱셈1)
  • 그래서 MAC → FLOPs으로 변환시에 2를 곱해주고, 반대일떈 2를 나눠주면됨

 

FLOPs랑 걸리는시간도 비례?

비례하긴한데 모델별로 그래프모양은 다른듯

 

Calculate FLOPs

y = w[0]*x[0] + w[1]*x[1] + w[2]*x[2] … w[n-1]*x[n-1]

  • 길이가 n인 두벡터의 내적 → 곱하기 n, 더하기 n-1 총 2n-1 FLOPS

FLOPs = 2x Input Size x Output Size = 2x Number of Kernel x Kernel Shape x Output Shape

 

딥러닝 모델에서 고려해야할사항

  • 모델의 크기 (FLOPs)
  • 메인 메모리 얼마나 잡아먹는지(사용메모리)
  • 동작시간 (Latency)
  • 전력소모

 

Parameter and FLOPs?

Parameter ??

In a CNN, each layer has two kinds of parameters : weights and biases.

The total number of parameters is just the sum of all weights and biases.

Let's define, = Number of weights of the Conv Layer. = Number of biases of the Conv Layer.

 

 

알리바바 클라우드 로그인 -> [Console] -> [ECS] -> [Create Instance]

 

사용한 시간만큼 결제는 Pay as you go , 한달단위로 결제는 Subscription 선택하면된다.

중국리전보다는 싱가폴이나 홍콩리전을 추천한다. (중국내 규제 때문)

 

스크롤내려서 이미지도 선택해준다. 본인은 우분투 선택.

원하면 GPU 드라이버 설치도 자동으로 하게 선택해줄수 있다. AWS 랑 다른점은 시작과 동시에 설치가되어서 시작하자마자 접속하면 CUDA를 깔고있는중이라 조금 기다려야한다.

 

키페어도 선택해준다 ( 없으면 create key pair )

 

[Connect] -> 비밀번호 옵션말고 키 업로드 옵션으로 바꿔준뒤 본인 키 업데이트 -> 접속

 

파일 다운로드하는 방법은

chmod 400 [본인pem키]
scp -i [본인pem키 절대경로] -r root@[퍼블릭아이피]:[다운받고자하는파일절대경로] [로컬주소]

ex : scp -i /Users/my/desktop/file_pem/my.pem -r root@8.999.3.55:/root/myfile ./

(**리눅스기준 절대경로는 터미널에 pwd 누르면나옴)

 Tensorflow 2.7.0 깔려고하니 다음과같은 에러가 발생

root@iZtrrrmevfuyqhvmqzcZ:~# pip3 install tensorflow==2.7.0
Collecting tensorflow==2.7.0
  Could not find a version that satisfies the requirement tensorflow==2.7.0 (from versions: 1.13.1, 1.13.2, 1.14.0)
No matching distribution found for tensorflow==2.7.0

 

pip3 install --user --upgrade tensorflow  로 해봤지만,  다음과같은 에러발생

python setup.py egg_info failed with error code 1 in /tmp/pip-build

 

이걸로 실행하니까 해결됨

sudo -H pip3 install --upgrade --ignore-installed pip setuptools
 

 

알리바바 클라우드에 A10, A30 GPU를 제공하길래 사용해보고자 시도해본 과정들이다.

GCP, IBM, AWS, Azure에서는 없는 GPU라 두근두근 사용해보기로했다.

 

A10 GPU type + 가격정보

 

A30 GPU 정보

 

 

그런데 A30은 가격정보도 없고 인스턴스 선택도 안되길래 채팅으로 문의해본결과,

A30 GPU는 전부 매진이라 한달단위로만 제공한다고한다. 한달에 1500불정도 (200만원). 이것도 신청한다고 바로되는게 아니라 심사후에 사용가능한데, 그것도 개인말고 기업이나 학교같이 신분을 보증할수 있는 결제처가 있어야 한다고 했다. 

알리바바 클라우드는 좀 좋은게 문의 남기면 꼭 전화가온다. 

 

A10 GPU도 사용해볼까 해서 선택했는데 에러가 난다.

 

그래서 개인정보에서 추가 정보를 입력하고 ( 1. 카드사진, 2. 여권정보, 3. 카드내역서 등등...)

Submit Ticket 으로 문의해본결과 또 전화가 왔었는데 , 기업이나 단체가 아니라 개인으로 사용시에 심사가 엄청나게 엄격하다고 한다. 이전에 유럽쪽인가 미국인가 리전에서 개인 계정으로 무분별한 사용후 결제를 안하고 튄케이스가 많았어서 개인계정은 심사를 빡세게 한다고 한다... (특히 카드 사용내역서...)

 

 

두번 거절당하고 세번째에 승인이 났다.

 

알림뜬거 클릭클릭하다보면 자동으로 추가인증사이트로 연동된다.

1. 카드실물사진

2. 여권사진

3. 카드사용내역서

이렇게 업로드해야하는데 카드사용내역서를 '영어'로 + 몇개월치를 뽑아서 첨부해야한다.

 

첫번째는 한국어로 대충 앱 캡쳐해서 첨부,  두번째는 영어로 2달치 카드내역서 pdf로 첨부했는데 거절당했다.

세번째는 영어로 6개월치 카드내역서를 첨부했더니 승인났다.

 

 

 

 

 

 

 

 

 

 

접속은 그냥 생성된 VM 아래에 SSH 버튼누르면되고

 

다운로드및 업로드는 저위에 업로드,다운로드 아이콘 누르면됨. 

엄청 간단..!

(파일안에 파일들이 많을때 다운로드가 안되고 그냥 집파일로 만든다음 집파일 절대경로(pwd) 입력해줬더니 다운로드됨)

sudo apt-get install zip unzip
zip test.zip ./*

 

GPU(all region) quota 0->1로 설정했다고 끝이아님. 

 

문제는 다음과같았는데

1) A100 GPU 쓰기위해  기본 아이오와 리전을 선택했더니 이미 꽉 찼다고 안됨

2) 그외 리전을 선택했더니 quota limit 0 이라고 안됨

 

살펴봤더니 앞에서 GPU(all region) quota 0->1로 설정한게 모든 리전에서 할당량이 0->1로 바뀐게 아니였음. 

 

**A100 GPU를 사용할수 있는 리전이 다음과같다고 뜬다.

 

 

IAM -> 할당량 -> 필터 누르고 -> 할당량 : nvidia A100 GPUS 검색하면 아래그림과같이 어떤건 한도가 0 , 어떤간 무제한인걸 확인할수 있다. 

( 아래 그림은 할당 요청한상태라 몇몇개가 1로 바꿔져있는것임. )

할당량 증가해야하는 리전만 선택한다음 -> 위에 할당량 수정 클릭 -> 할당량1 입력한다음 제출하면, 5분안에 할당완료 메일이 온다. 

 

 

GCP에서 처음으로 GPU 인스턴스가 생성되었다. 맨날 용량부족만 보다가 감격......

+ Recent posts