All about

Tensorflow 2.0 로 모델을 짜서 돌리다가 아래와 같은 에러 메세지가 출력되면서, 파이썬 에러는 아닌데 원하는대로 돌아가지 않는 경우가 생겼습니다.




텐서플로우 에러메세지를 텍스트로 옮기면 아래와 같은데,


Check failed: cudnnSetTensorNdDescriptor(handle_.get(), elem_type, nd, dims.data(), strides.data()) == CUDNN_STATUS_SUCCESS (3 vs. 0)batch_descriptor: {count: 16 feature_map_count: 256 spatial: 0 0  value_min: 0.000000 value_max: 0.000000 layout: BatchDepthYX}


Tensorflow 에러의 원인은 2x2 feature map 을 3x3 으로 conv 연산하는 것처럼 요구되는 연산에서 입력이나 출력의 tensor 가 0x0 dimension 처럼 되는 경우에 생깁니다.


Alexnet 이 ImageNet 데이터 셋을 사용하기 위해 227x227 사이즈 입력으로 네트워크가 시작되는데, 여기에 32X32 크기의 CIFAR10 을 집어 넣었더니 에러메세지는 안나오면서 학습은 진행되지 않더라고요. 위와 같은 에러가 발생했다면 Convolution 과 Pooling 연산 과정에서 feature map 의 크기가 0x0 이 되지 않는지 확인하시면 해결할 수 있을겁니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading