Hello!
When I try to download an artifact in an AWS Lambda, I get the following error:
[ERROR] OSError: [Errno 38] Function not implemented
Traceback (most recent call last):
File "/var/task/on_lambda.py", line 149, in lambda_entrypoint
generate_predictions(
File "/var/task/on_lambda.py", line 75, in generate_predictions
models_data = get_models_data()
File "/var/task/on_lambda.py", line 156, in <lambda>
get_models_data=lambda: get_customer_models_data(
File "/var/task/models.py", line 38, in get_customer_models_data
artifact_dir = artifact.download(root=CUSTOMER_DATA_DIR)
File "/var/task/wandb/apis/public.py", line 3763, in download
pool = multiprocessing.dummy.Pool(32)
File "/var/lang/lib/python3.9/multiprocessing/dummy/__init__.py", line 124, in Pool
return ThreadPool(processes, initializer, initargs)
File "/var/lang/lib/python3.9/multiprocessing/pool.py", line 927, in __init__
Pool.__init__(self, processes, initializer, initargs)
File "/var/lang/lib/python3.9/multiprocessing/pool.py", line 196, in __init__
self._change_notifier = self._ctx.SimpleQueue()
File "/var/lang/lib/python3.9/multiprocessing/context.py", line 113, in SimpleQueue
return SimpleQueue(ctx=self.get_context())
File "/var/lang/lib/python3.9/multiprocessing/queues.py", line 341, in __init__
self._rlock = ctx.Lock()
File "/var/lang/lib/python3.9/multiprocessing/context.py", line 68, in Lock
return Lock(ctx=self.get_context())
File "/var/lang/lib/python3.9/multiprocessing/synchronize.py", line 162, in __init__
SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx)
File "/var/lang/lib/python3.9/multiprocessing/synchronize.py", line 57, in __init__
sl = self._semlock = _multiprocessing.SemLock(
Is there a way around this? It seems to be an issue with multiprocessing. I tried setting WANDB_START_METHOD = thread
which I saw mentioned in a few places, but the error doesn’t change.
This is how I’m downloading the artifact:
api = wandb.Api()
artifact = api.artifact(artifact_name)
artifact_dir = artifact.download(root=data_dir)
I saw two other threads on this topic but they didn’t have a solution
Thanks!