#machine-learning #lambda #deep-learning #save #pickle
Вопрос:
я сохраняю свою модель в aws efs .
это работает и успешно работает в jyupter. но не работает в лямбде…
это приводит к такой ошибке
Response
{
"errorMessage": "invalid load key, '\x0a'.",
"errorType": "UnpicklingError",
"stackTrace": [
" File "/var/task/lambda_function.py", line 217, in lambda_handlern pred_instance_dict = model_validation()n",
" File "/var/task/lambda_function.py", line 200, in model_validationn test_y, pred_y, test_data, mape = train_test_model(n",
" File "/var/task/lambda_function.py", line 163, in train_test_modeln model_rfr = pickle.load(open(filename_path, 'rb'))n"
]
}
Function Logs
START RequestId: 252fd741-63a2-4bf7-ba80-69e283ef3206 Version: $LATEST
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
2021-07-18 11:37:02.817052: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /var/lang/lib:/lib64:/usr/lib64:/var/runtime:/var/runtime/lib:/var/task:/var/task/lib:/opt/lib
2021-07-18 11:37:02.817102: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
/mnt/efs/packages/joblib/_multiprocessing_helpers.py:45: UserWarning: [Errno 38] Function not implemented. joblib will operate in serial mode
warnings.warn('%s. joblib will operate in serial mode' % (e,))
[ERROR] UnpicklingError: invalid load key, 'x0a'.
Traceback (most recent call last):
File "/var/task/lambda_function.py", line 217, in lambda_handler
pred_instance_dict = model_validation()
File "/var/task/lambda_function.py", line 200, in model_validation
test_y, pred_y, test_data, mape = train_test_model(
File "/var/task/lambda_function.py", line 163, in train_test_model
model_rfr = pickle.load(open(filename_path, 'rb'))END RequestId: 252fd741-63a2-4bf7-ba80-69e283ef3206
это для модели нагрузки
filename= f'{anch}_{pred}_model_rfr.sav'
filename_path=f'/mnt/efs/packages/{filename}'
model_rfr = pickle.load(open(filename_path, 'rb'))
filename2= f'{anch}_{pred}_model_simple.sav'
filename2_path= f'/mnt/efs/packages/{filename2}'
model_simple = pickle.load(open(filename2_path, 'rb'))