Я использую тензорный поток в микросервисе, построенном с использованием Klein / Twisted. Недавно я обновился до новой версии scikit-learn (20.0) и получаю сообщение об ошибке ValueError: bad value(s) in fds_to_keep
. Когда я возвращаю версию scikit-learn к 19.2, ошибка устраняется. Я посмотрел журнал изменений для scikit-learn, и в версии 20.0 они начали использовать joblib для параллельных вычислений. Ниже я включаю трассировку стека для ошибки. Я использую Twisted версию 19.7.
Любые идеи или советы по дальнейшей отладке приветствуются.
Я пробовал более новые версии scikit-learn eg21.3, но ошибка остается.
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/calamari_ocr/ocr/predictor.py", line 106, in __init__
backend = create_backend_from_proto(self.network_params, restore=self.checkpoint, processes=processes)
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/calamari_ocr/ocr/backends/factory.py", line 28, in create_backend_from_proto
from calamari_ocr.ocr.backends.tensorflow_backend.tensorflow_backend import TensorflowBackend
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/calamari_ocr/ocr/backends/tensorflow_backend/tensorflow_backend.py", line 4, in <module>
from calamari_ocr.ocr.backends.tensorflow_backend.tensorflow_model import TensorflowModel
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/calamari_ocr/ocr/backends/tensorflow_backend/tensorflow_model.py", line 3, in <module>
import tensorflow.contrib.cudnn_rnn as cudnn_rnn
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/tensorflow/contrib/__init__.py", line 37, in <module>
from tensorflow.contrib import cudnn_rnn
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/tensorflow/contrib/cudnn_rnn/__init__.py", line 38, in <module>
from tensorflow.contrib.cudnn_rnn.python.layers import *
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/tensorflow/contrib/cudnn_rnn/python/layers/__init__.py", line 23, in <module>
from tensorflow.contrib.cudnn_rnn.python.layers.cudnn_rnn import *
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/tensorflow/contrib/cudnn_rnn/python/layers/cudnn_rnn.py", line 20, in <module>
from tensorflow.contrib.cudnn_rnn.python.ops import cudnn_rnn_ops
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/tensorflow/contrib/cudnn_rnn/python/ops/cudnn_rnn_ops.py", line 22, in <module>
from tensorflow.contrib.rnn.python.ops import lstm_ops
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/tensorflow/contrib/rnn/__init__.py", line 93, in <module>
from tensorflow.contrib.rnn.python.ops.rnn_cell import *
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/tensorflow/contrib/rnn/python/ops/rnn_cell.py", line 24, in <module>
from tensorflow.contrib.layers.python.layers import layers
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/tensorflow/contrib/layers/__init__.py", line 116, in <module>
from tensorflow.contrib.layers.python.layers import *
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/tensorflow/contrib/layers/python/layers/__init__.py", line 33, in <module>
from tensorflow.contrib.layers.python.layers.target_column import *
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/tensorflow/contrib/layers/python/layers/target_column.py", line 24, in <module>
from tensorflow.contrib.losses.python.losses import loss_ops
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/tensorflow/contrib/losses/__init__.py", line 25, in <module>
from tensorflow.contrib.losses.python import metric_learning
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/tensorflow/contrib/losses/python/metric_learning/__init__.py", line 25, in <module>
from tensorflow.contrib.losses.python.metric_learning.metric_loss_ops import *
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/tensorflow/contrib/losses/python/metric_learning/metric_loss_ops.py", line 34, in <module>
from sklearn import metrics
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/sklearn/__init__.py", line 76, in <module>
from .base import clone
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/sklearn/base.py", line 16, in <module>
from .utils import _IS_32BIT
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/sklearn/utils/__init__.py", line 17, in <module>
from . import _joblib
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/sklearn/utils/_joblib.py", line 8, in <module>
import joblib
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/joblib/__init__.py", line 119, in <module>
from .parallel import Parallel
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/joblib/parallel.py", line 22, in <module>
from ._multiprocessing_helpers import mp
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/site-packages/joblib/_multiprocessing_helpers.py", line 34, in <module>
_sem = Semaphore()
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/multiprocessing/context.py", line 82, in Semaphore
return Semaphore(value, ctx=self.get_context())
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/multiprocessing/synchronize.py", line 127, in __init__
SemLock.__init__(self, SEMAPHORE, value, SEM_VALUE_MAX, ctx=ctx)
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/multiprocessing/synchronize.py", line 81, in __init__
register(self._semlock.name)
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/multiprocessing/semaphore_tracker.py", line 83, in register
self._send('REGISTER', name)
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/multiprocessing/semaphore_tracker.py", line 90, in _send
self.ensure_running()
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/multiprocessing/semaphore_tracker.py", line 71, in ensure_running
pid = util.spawnv_passfds(exe, args, fds_to_pass)
File "/home/ppiela/anaconda3/envs/visual_extraction_validation/lib/python3.6/multiprocessing/util.py", line 403, in spawnv_passfds
False, False, None)
ValueError: bad value(s) in fds_to_keep