로컬에서 학습시켰던 케라스(Keras)와 서버에 있는 케라스 버전이 맞지 않다보니 다음과 같은 에러가 발생하였습니다. 에러 내용 Traceback (most recent call last): File "train_job_classifier.py", line 7, in from keras.utils import pad_sequences ImportError: cannot import name 'pad_sequences' pad_sequences란? pad_sequences 함수는 시퀀스 데이터의 길이를 조정하여 동일한 길이를 가지도록 패딩(padding)을 추가하는 기능을 제공하는 Keras의 함수입니다. 시퀀스 데이터는 예를 들어 문장, 문서, 시계열 데이터 등 순차적인 요소로 이루어진 데이터를 의미합니..
케라스(Keras)는 텐서플로우(Tensorflow)와 같은 머신러닝 & 딥러닝 엔진 위에 구축된 파이썬용 라이브러리입니다. 현재는 케라스가 텐서플로 프로젝트에 속해 있기 때문에 기본적인 엔진은 텐서플로로 인지하지만 예전에는 씨아노(Theano)를 위한 라이브러리 였습니다. 케라스의 구조 위 구조를 보면 텐서플로 밑에 CPU, GPU, TPU가 있고 위에 케라스가 있는데요. 이와 같이 텐서플로우가 실질적으로 하드웨어(Hardware)를 제어한다면, 케라스는 하드웨어를 제어하는 텐서플로를 제어한다 이해를 하면 될 것 같습니다. 텐서플로가 하드웨어를 얼마나 잘 컨트롤하고, 어떻게 하면 더 효율적이고 효과적인 딥러닝 엔진을 만들 것인지 고민을 하고 있다면, 케라스는 텐서플로우를 제어해서 개발자들이 보다 쉽게 ..
텐서플로 개념 텐서플로(Tensorflow)는 구글(Google)에서 만든 파이썬 기반의 오픈소스 딥러닝 및 머신러닝 플랫폼입니다. 초창기에는 신경망 기반이라 딥러닝 플랫폼으로 인식이 되었는데 머신러닝 알고리즘도 제공을 하기 때문에 딥러닝이 아니라 정확히는 머신러닝 플랫폼이라고 하는 것이 맞을 것 같네요. 텐서플로우는 넘파이(NumPy)와 비슷하게 엔지니어들과 연구자들이 텐서에 대한 수학적 표현을 적용할 수 있도록 하며 쉽게 머신러닝 모델을 만들 수 있도록 도와줍니다. 텐서플로의 장점 미분 가능한 어떤 표현식에서도 자동으로 그레디언트를 계산할 수 있으므로 머신러닝에 적합 CPU 뿐만 아니라 병렬화된 하드웨어 가속기인 GPU 및 TPU에서도 실행 가능 여러 머신에 분산 시킬 수 있음 텐서플로는 다른 런타임..
새로운 컴퓨터에 텐서플로우를 설치하고 케라스로 학습을 하는 도중 엄청 느리다는 사실을 깨달았다. 알고보니 아래와 같은 에러가 발생하고 있었다. 에러 로그 2020-12-09 15:06:03.690810: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudnn64_7.dll'; dlerror: cudnn64_7.dll not found 2020-12-09 15:06:03.690901: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1598] Cannot dlopen some GPU libraries. Please make sure the..
tensorflow를 최신 버전으로 설치하였으면 GPU가 장착되지 않은 컴퓨터에서 tensorflow-gpu를 pip로 인스톨하지 않았는데도 cudart64_101.dll을 로드 하지 못했다는 에러 메세지를 볼 수 있다. 2020-07-31 23:23:48.633058: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudart64_101.dll'; dlerror: cudart64_101.dll not found 2020-07-31 23:23:48.633232: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above c..
텐서플로우(Tensorflow) + 케라스(Keras) 모델에서 Seq2Seq를 테스트 하는 중에 케라스에서 배포하는 소스에서 에러가 발생하였다. 7808/8000 [============================>.] - ETA: 0s - loss: 0.4221 - accuracy: 0.8742 7872/8000 [============================>.] - ETA: 0s - loss: 0.4222 - accuracy: 0.8742 7936/8000 [============================>.] - ETA: 0s - loss: 0.4222 - accuracy: 0.8742 8000/8000 [==============================] - 33s 4ms/sa..
케라스에서, 이전 소스를 돌리던 중 아래와 같은 에러가 발생하였다. Traceback (most recent call last): File "C:/Project/AI/SAI/02. PySource/keras_study/ mnist.py ", line 28, in print(hist.history['acc']) KeyError: 'acc' 텐서플로우가 2.x로 버전업하면서 케라스를 선택하였는데 이때 버전간의 충돌이 생겨버렸고, 기존의 소스가 그대로 작동되는 것이 아니라 일부 소스들이 내부적으로 교정이 된듯 하다. 하여간, 파이썬 진영은 버전업 할 때마다 뭐 하나 제대로 돌아가는 것이 없어서 불과 1년전의 소스를 돌려도 제대로 돌아가는게 없을 정도로 문제가 너무 심한것이 탈이다. 에러를 검색하던 중 스택오버..
케라스(Keras)로 텐서플로우(Tensorflow)를 핸들링하는 부분에서 아래와 같은 에러가 발생하였다. AttributeError Traceback (most recent call last) in 1 # 인공신경망 모델링 ----> 2 model = keras.models.Sequential() 3 model.add(keras.layers.Dense(1, input_shape=(1,))) 4 model.compile('SGD', 'mse') C:\Anaconda3\lib\site-packages\keras\engine\sequential.py in __init__(self, layers, name) 85 86 def __init__(self, layers=None, name=None): ---> 87..