묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
선생님 ㅠㅠ 뭐가 문제일까요 spot검색후.ㅠ
선생님.. 이렇게 떠서 연필모양 클릭이 안되요 ㅠㅠ..뭐가 문제일까요
-
해결됨파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
선생님 안녕하세요!.. 오류 문의드립니다.
승인된 LowPriorityCores 할당량을 초과하므로 작업을 완료할 수 없습니다. 추가 세부 정보 - 배포 모델: Resource Manager, 위치: KoreaCentral, 현재 제한: 3, 현재 사용량: 0, 추가 필요: 16, (최소) 새 제한 필요: 16. 할당량이 임계값에 도달할 때 경고를 설정합니다. https://aka.ms/quotamonitoringalerting에서 자세히 알아보세요. 배포가 성공할 수 있도록 '세부 정보' 섹션에 나열된 매개 변수를 지정하여 https://aka.ms/ProdportalCRP/#blade/Microsoft_Azure_Capacity이게.. 저도 클라우딩 컴퓨터가 처음이라 익숙하지가 않는데 ㅠ 이렇게 오류가 뜹니다.. 계정이 유료?로 전환되었는지도 모르겠고요 ㅠㅠ 일단 앞의 강의 에서 spot이게 검색해도 아무것도 뜨지 않아서 지금 강의 부터 진행 하는데 역시 안되네요 ㅠㅠ 뭐가 문제일까요
-
해결됨파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
강의 영상중에 음성이 빨라지더니 몇 초 누락 되는 부분이 있습니다.
안녕하세요 수업 매우 만족하며 듣고 있습니다...강의중에섹션 5. 파이썬으로 페어 트레이딩 백테스팅 시작하기객체지향 trading_summary() 메서드 추가하기수업중 4:14 부터 음성이 빨라지더니 중간 몇 초 누락이 조금 있습니다. 감사합니다...
-
해결됨파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
변동성이 너무 크면, 통계적으로 접근하기 어려운 데이터가 되는 이유
안녕하세요 수업 너무 잘 듣고 있습니다.수업중에 "변동성이 너무 크면, 통계적으로 접근하기 어려운 데이터가 된다"는 말씀을 주셨는데 왜 그런지 직관적으로 이해가 되지 않아서 질문드립니다.변동성이 너무 큰 상황에서도 많은 반복을 하면 예상하는 margin을 기대할 수 있는 것이 아닌가 싶은 생각이 들기도 합니다.설명 기다리겠습니다. 감사합니다.
-
해결됨파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
Quotas 리스트에 아무것도 나오지 않습니다.
계정을 Paid 계정으로 신용카드로 인증하여 업그레이드 하였는데 계정은 Azure 구독1 으로 설정되어있습니다.설정에 들어가서 기본 구독 필터를 확인해보니 Azure 구독1으로 설정 되어있고 변경 할 수 없게 고정 값으로 되어있습니다.감사합니다...
-
미해결파이썬 중급
def attach_wrapper의 return func를 하는 이유?
안녕하세요 강사님!좋은 강의 정말 잘 듣고 있습니다. 지난 질문에도 친절하게 답변 달아주셔서 감사의 말씀 드립니다.이번 메타프로그밍 3.1절을 들으면서 잘 이해가 안되는 부분이 있어서 이렇게 질문글을 작성합니다.질문은 다음과 같습니다.Q1. attach_wrapper가 return 하는 func는 누구인가? 최종적으로 그 func는 누가 받는가?def attach_wrapper(obj, func=None): if func is None: return partial(attach_wrapper, obj) setattr(obj, func.__name__, func) return func위의 def attach_wrapper 가 @attach_wrapper(wrapper) 형태로 데코레이트하면, func=None일 때 partial()을 통해서 def attach_wrapper 함수 객체 본인을 return 해서 첫번째 인자인 obj를 wrapper로 고정시키는 것까지 이해를 했습니다.func=None이 아니면 setattr()을 통해, obj가 갖고 있는 어트리뷰트 func의 이름을 인자로 받은 func로 값을 셋팅하는 것까지도 이해를 했습니다.그런데 최종적으로 return 되는 게 func라는 것이 잘 이해가 되지 않습니다. return 되는 func를 누가 받는걸까요?func를 유추하기까지 저의 사고 흐름은 아래와 같았습니다.@attach_wrapper(wrapper) def set_level(newlevel): nonlocal level level = newleveldef set_level 이 데코레이트 되는 내부 사정은 set_level = attach_wrapper(wrapper)(set_level) 이 될텐데요.set_level = attach_wrapper(wrapper)(set_level) 에서 attach_wrapper(wrapper)는 partial()을 통해 def attach_wrapper 본체가 return 되었기 때문에, 데코레이트 되는 내부 사정을 달리 표현하면 set_level = attach_wrapper(obj=wrapper, func=set_level) 라고 이해를 했습니다.그러면.. attach_wrapper(obj=wrapper, func=set_level) 가 return 하는 게 func인데, set_level = func 이니까.. set_level = set_level 이 되는건가요? 추가 질문def attach_wrapper 함수에서 return func를 주석처리 하고 실행을 해도 결과가 똑같이 나오는데 이유를 잘 모르겠습니다.. 어째서 return func가 아무런 효용이 없었던 걸까요..?혹시 제가 잘 못 이해한 부분이 있다면 어김없이 피드백 부탁드리겠습니다!(아래에는 출력 결과물을 첨부하였습니다.)""" # return func 주석 처리 후 결과 DEBUG:__main__:add DEBUG:__main__:Add called WARNING:__main__:Add called DEBUG:__main__:countdown CRITICAL:__main__:countdown DEBUG:__main__:countdown2 CRITICAL:__main__:countdown2 5 5 5 countdown 0.009128093719482422 countdown 0.007673978805541992 countdown2 0.0056438446044921875 countdown2 0.005079030990600586 --- # 원본 코드 실행 결과 DEBUG:__main__:add DEBUG:__main__:Add called WARNING:__main__:Add called DEBUG:__main__:countdown CRITICAL:__main__:countdown DEBUG:__main__:countdown2 CRITICAL:__main__:countdown2 5 5 5 countdown 0.007693052291870117 countdown 0.006663084030151367 countdown2 0.005110979080200195 countdown2 0.0052149295806884766 """
-
해결됨파이썬 중급
eval(repr(p)) 가 진짜 Pair 객체로 만들어지는 이유?
안녕하세요 강사님, 수업 잘 듣고 있습니다. 좋은 강의 만들어 주셔서 감사드립니다.수업을 듣다가 9분 12초 쯤에서 질문이 있어서 게시글 남깁니다.eval(repr(p)) 에서,repr(p) 가 Pair 라는 클래스를 호출해서 인스턴스로 만드는 string을 나타내기 때문에, eval()을 했을 때 Pair라는 객체가 생성되는 게 맞을까요?바꿔서 말하면 repr(p)가 평가되었을 때 Pair(3,4)와 같은 객체 생성 expression과 같기 때문에 그 expression이 eval()을 타서 Pair 객체가 만들어지는거죠?! 답변 주시면 감사하겠습니다!
-
해결됨파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
하이레벨 오버뷰 관점이란 용어 뜻 문의
하이레벨 오버뷰 관점이란 말이 무슨 뜻인지 설명 부탁드립니다.
-
미해결파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
Qouta 리스트에 아무것도 안나옵니다.
spot이라고 검색을 하면 머라고 나와야하는데 아무것도 안나옵니다.. 제가 빠트린 작업이 있을까요?
-
해결됨파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
하드웨어 용량 사용 승인 요청 거부
안녕하세요. 강의 영상을 보면서 Korea Central 지역에 Quotas 요청을 보냈는데 아래와 같이 나오면서 승인이 안되네요QMS Update - Status: ResourceType: crpCores { Quota Bucket: TotalLowPriorityCores Status Description: Due to very high rates of Spot consumption, Microsoft is unable to approve additional quota at this time State: SpotVMNotAllowedForPayGCustomer Current Quota: 3 New Quota: 16 } Properties: [location, koreacentral] } Korea South 지역에 요청해도 동일하게 되지 않습니다. 어떻게 해야할까요?QMS Update - Status: ResourceType: crpCores { Quota Bucket: TotalLowPriorityCores Status Description: Due to very high rates of Spot consumption, Microsoft is unable to approve additional quota at this time State: SpotVMNotAllowedForPayGCustomer Current Quota: 3 New Quota: 16 } Properties: [location, koreasouth] }
-
해결됨CUDA 프로그래밍 (2) - C/C++/GPU 병렬 컴퓨팅 - 벡터 vector 더하기
Thread Block 개수에 제한이 있나요?
안녕하세요 저번 Vector Addition 수업에서는 256M(256 x 1024 x 1024)개의 연산을 수행하기 위해서<<<256*1024, 1024>>>로 커널을 런치하여 Block의 개수에는 제한이 없는 것 처럼 보였는데,15-5강의에서는 SM의 Thread Block은 32개 까지 가능이라고 하셔서 헷갈리는데두 개의 Thread Block 개념이 다른 것인지 궁금합니다.
-
해결됨CUDA 프로그래밍 (2) - C/C++/GPU 병렬 컴퓨팅 - 벡터 vector 더하기
Warp를 동시에 돌린다는 말이 이해가 가지 않습니다.
안녕하세요. 먼저 좋은 CUDA 강의를 제공해주셔서 감사합니다. 다름이 아니라 15-4 강의에서 Warp를 동시에 돌린다는 말에 질문이 있습니다. Warp 스케줄링을 저는 아래와 같이 비교하여 이해하였습니다.CPU: Core -> 여러개의 쓰레드GPU: SM -> 여러개의 Warp 강의 내용처럼, CUDA에서 Warp별로 스케줄링을 관리를 한다면 모든 SP의 Clock들이 같은 Instruction을 수행(SM내 SP들의 Clock들은 Sync가 맞음)하여야 Warp단위로 스케줄링이 가능할 것 같은데, 제 생각이 맞는지 궁금합니다. 감사합니다.
-
해결됨CUDA 프로그래밍 (3) - C/C++/GPU 병렬 컴퓨팅 - 메모리 구조
계산시간 비교
알찬 강의 계속 잘 듣고 있습니다!CPU와 GPU version의 계산시간 비교에 대해 질문 드립니다. 커널에서 계산시간만 비교하면 CUDA이 훨씬 빠릅니다. CPU version (filter-host.cu): 44,784 usCUDA version (filter-dev.cu): 830 us하지만 CUDA version에서 메모리 복사를 포함하면 337,737 us 으로 CPU version보다 훨씬 느린 것 같습니다. 혹시 메모리 복사 시간을 줄이는 방법이 있는지요?
-
해결됨CUDA 프로그래밍 (2) - C/C++/GPU 병렬 컴퓨팅 - 벡터 vector 더하기
매크로 함수를 쓴 이유
안녕하세요!좋은 강의 잘 듣고 있습니다.common.cpp 코드 중에서 ELAPSED_TIME_BEGIN(N)과 ELAPSED_TIME_BEGIN(N)을 매크로 함수로 정의한 이유가 무었인지요?CUDA_CHECK_ERROR() 함수는 __FILE__과 __LINE__ 때문에 매크로 함수로 정의하신 걸로 이해합니다만, 시간 측정 함수들을 매크로함수로 정의하신 이유는 잘 이해되지 않습니다.답변 부탁드립니다.감사합니다.
-
해결됨CUDA 프로그래밍 (1) - C/C++/GPU 병렬 컴퓨팅 - CUDA 커널 kernel
hello-prrallel.cu 의 병렬처리에 관하여
좋은 강의 고맙습니다.병렬처리라면 일반적으로 다른 쓰레드에 영향을 주지 않고 수행이 될거라 생각이 됩니다.예제 코드에서 hello<<<1,8>>>();을 이용하여 쓰레드 8개를 병렬로 돌리는데 출력된 값은hello CUDA 0!hello CUDA 1!hello CUDA 2!,,,hello CUDA 7!이 되는 것을 볼 수 있는데 병렬로 처리된다면 출력 되는 숫자가 순차적으로 나올 수 없는 것 아닌가요?
-
해결됨CUDA 프로그래밍 (4) - C/C++/GPU 병렬 컴퓨팅 - 행렬 matrix 곱하기
kernelMatCpy에서는 __syncthreads가 필요없지 않나요
제목 그대로 kernelMatCpy에서는 각 스레드 작업이 다른 스레드에 영향을 주지 않기 때문에 필요없을 것 같은데요. 실제로 __stncthreads()를 제거하고 돌려봐도 정상적으로 결과가 나오구요.혹시 이런 경우라도 내부적으로 꼬일 수 있어서 사용하신 것인지 아니면 대부분의 shared memory로 복사해서 쓰는 경우에 필요하기 때문에 습관(?)차원에서 사용하신 것인지 궁금합니다.
-
해결됨CUDA 프로그래밍 (4) - C/C++/GPU 병렬 컴퓨팅 - 행렬 matrix 곱하기
소스 코드 에러 문의 드립니다
소스코드 그대로 돌리면, 아래와 같은 에러가 발생합니다. (25장 전체 소스가 모두 동일합니다) 이유와 수정 방법을 알고 싶읍니다. // 25d-gemm-alignedTile.cu/tmp/tmpg97edtlu/25d-gemm-alignedTile.cu(98): error: "beta" is ambiguous 1 error detected in the compilation of "/tmp/25d-gemm-alignedTile.cu".
-
해결됨CUDA 프로그래밍 (4) - C/C++/GPU 병렬 컴퓨팅 - 행렬 matrix 곱하기
global memory를 사용한 matrix copy 대비 global memory를 활용한 matrix transpose가 속도가 느린 이유가 궁금합니다.
안녕하세요.먼저 좋은 강의 감사드립니다. 아래 소스는 matcpy-dev.cu에서 가져온 kernel 함수입니다.global void kernelMatCpy( float* C, const float* A, int matsize, size_t pitch_in_elem ) { register unsigned gy = blockIdx.y * blockDim.y + threadIdx.y; // CUDA-provided index if (gy < matsize) { register unsigned gx = blockIdx.x * blockDim.x + threadIdx.x; // CUDA-provided index if (gx < matsize) { register unsigned idx = gy * pitch_in_elem + gx; // in element C[idx] = A[idx]; } }} 그리고 다음 소스는 transpose-dev.cu에서 가져온 kernel 함수 입니다.global void kernelMatTranspose( float* C, const float* A, unsigned matsize, size_t pitch_in_elem ) { register unsigned gy = blockIdx.y * blockDim.y + threadIdx.y; // CUDA-provided index if (gy < matsize) { register unsigned gx = blockIdx.x * blockDim.x + threadIdx.x; // CUDA-provided index if (gx < matsize) { register unsigned idxA = gy * pitch_in_elem + gx; register unsigned idxC = gx * pitch_in_elem + gy; C[idxC] = A[idxA]; } }} 메모리 접근 관점에서 보면 각 thread별로 A에서 read해서 C에 write하는 동일한 과정으로 보이는데, 결과는 속도 차이가 많이 나는 정확한 원인이 궁금합니다. memory coalescing 때문으로 추정하고 있는데, 맞는 생각일까요?감사합니다.
-
해결됨CUDA 프로그래밍 (2) - C/C++/GPU 병렬 컴퓨팅 - 벡터 vector 더하기
VS2022 컴파일 에러
예제소스코드12a-vecadd-host.cpp -> vecadd-host.cpp 로 파일명 고치고 common.cpp 랑 2개를 쿠다 프로젝트에 추가해서 컴파일 했는데 링크에러가 납니다.vecadd-host.obj : error LNK2005: "float __cdecl getRMS(float const ,float const ,int,bool)" (?getRMS@@YAMPEBM0H_N@Z) already defined in common.obj파일은 저 2개 뿐인데already defined in common.obj 이런 에러가 여러 개가 뜨는데 뭐 때문일까요?
-
해결됨CUDA 프로그래밍 (3) - C/C++/GPU 병렬 컴퓨팅 - 메모리 구조
video에 필터를 적용하는 경우
- 출장이 잦아서, 답변에 시간이 좀 걸릴 수도 있습니다. 양해 바랍니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 선생님 너무 좋은 강의 다시 한번 감사드립니다. 다름이 아니고, video에서 각각의 frame별로 filter를 처리하는 부분을 cuda도 구현하는 코드를 짠다고 가정할 때, 각 프레임은 W x H x C ( rbg) 의 차원을 가지고 있고 영상이기 때문에 영상은 W x H x C x T 의 차원을 가지고 있을 겁니다. 그렇다면, cudaMalloc3D나 cudaMemecpy3D 부분을 사용해서 각 frame을 처리하고 ( device ) 나머지는 for 문 ( host ) 으로 시간에 따라 frame을 device로 보내도록 구현하였습니다. 그런데 혹시 시간 부분 까지 device에서 처리할 수 있는 방법이 있는 지가 궁금합니다.