NVIDIA-Merlin / NVIDIA-Merlin/Merlin

timeout: timed out

Open
#74 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
907
Forks
129
PR merge metrics
No merged PRs in 30d

Description

Hi ,sir.when i run the follow code from 04-Triton-Inference-with-TF.ipynb

%%time

triton_client.load_model(model_name="criteo")

There are some error


POST /v2/repository/models/criteo/load, headers None

---------------------------------------------------------------------------
timeout                                   Traceback (most recent call last)
<timed eval> in <module>

/usr/local/lib/python3.8/dist-packages/tritonclient/http/__init__.py in load_model(self, model_name, headers, query_params)
    616         """
    617         request_uri = "v2/repository/models/{}/load".format(quote(model_name))
--> 618         response = self._post(request_uri=request_uri,
    619                               request_body="",
    620                               headers=headers,

/usr/local/lib/python3.8/dist-packages/tritonclient/http/__init__.py in _post(self, request_uri, request_body, headers, query_params)
    306                                               headers=headers)
    307         else:
--> 308             response = self._client_stub.post(request_uri=request_uri,
    309                                               body=request_body)
    310 

/usr/local/lib/python3.8/dist-packages/geventhttpclient/client.py in post(self, request_uri, body, headers)
    270 
    271     def post(self, request_uri, body=u'', headers=None):
--> 272         return self.request(METHOD_POST, request_uri, body=body, headers=headers)
    273 
    274     def put(self, request_uri, body=u'', headers=None):

/usr/local/lib/python3.8/dist-packages/geventhttpclient/client.py in request(self, method, request_uri, body, headers)
    251 
    252             try:
--> 253                 response = HTTPSocketPoolResponse(sock, self._connection_pool,
    254                                                   block_size=self.block_size, method=method.upper(), headers_type=self.headers_type)
    255             except HTTPConnectionClosed as e:

/usr/local/lib/python3.8/dist-packages/geventhttpclient/response.py in __init__(self, sock, pool, **kw)
    296     def __init__(self, sock, pool, **kw):
    297         self._pool = pool
--> 298         super(HTTPSocketPoolResponse, self).__init__(sock, **kw)
    299 
    300     def release(self):

/usr/local/lib/python3.8/dist-packages/geventhttpclient/response.py in __init__(self, sock, block_size, method, **kw)
    168         self._sock = sock
    169         self.block_size = block_size
--> 170         self._read_headers()
    171 
    172     def release(self):

/usr/local/lib/python3.8/dist-packages/geventhttpclient/response.py in _read_headers(self)
    188             while not self.headers_complete:
    189                 try:
--> 190                     data = self._sock.recv(self.block_size)
    191                     self.feed(data)
    192                     # depending on gevent version we get a conn reset or no data

/usr/local/lib/python3.8/dist-packages/gevent/_socketcommon.py in recv(self, *args)
    661                 # QQQ without clearing exc_info test__refcount.test_clean_exit fails
    662                 exc_clear() # Python 2
--> 663             self._wait(self._read_event)
    664 
    665     def recvfrom(self, *args):

/usr/local/lib/python3.8/dist-packages/gevent/_gevent_c_hub_primitives.cpython-38-x86_64-linux-gnu.so in gevent._gevent_c_hub_primitives.wait_on_socket()

/usr/local/lib/python3.8/dist-packages/gevent/_gevent_c_hub_primitives.cpython-38-x86_64-linux-gnu.so in gevent._gevent_c_hub_primitives.wait_on_socket()

/usr/local/lib/python3.8/dist-packages/gevent/_gevent_c_hub_primitives.cpython-38-x86_64-linux-gnu.so in gevent._gevent_c_hub_primitives._primitive_wait()

/usr/local/lib/python3.8/dist-packages/gevent/_gevent_c_hub_primitives.cpython-38-x86_64-linux-gnu.so in gevent._gevent_c_hub_primitives._primitive_wait()

/usr/local/lib/python3.8/dist-packages/gevent/_gevent_c_hub_primitives.cpython-38-x86_64-linux-gnu.so in gevent._gevent_c_hub_primitives.WaitOperationsGreenlet.wait()

/usr/local/lib/python3.8/dist-packages/gevent/_gevent_c_hub_primitives.cpython-38-x86_64-linux-gnu.so in gevent._gevent_c_hub_primitives.WaitOperationsGreenlet.wait()

/usr/local/lib/python3.8/dist-packages/gevent/_gevent_c_hub_primitives.cpython-38-x86_64-linux-gnu.so in gevent._gevent_c_hub_primitives.WaitOperationsGreenlet.wait()

/usr/local/lib/python3.8/dist-packages/gevent/_gevent_c_waiter.cpython-38-x86_64-linux-gnu.so in gevent._gevent_c_waiter.Waiter.get()

/usr/local/lib/python3.8/dist-packages/gevent/_gevent_c_greenlet_primitives.cpython-38-x86_64-linux-gnu.so in gevent._gevent_c_greenlet_primitives.SwitchOutGreenletWithLoop.switch()

/usr/local/lib/python3.8/dist-packages/gevent/_gevent_c_greenlet_primitives.cpython-38-x86_64-linux-gnu.so in gevent._gevent_c_greenlet_primitives.SwitchOutGreenletWithLoop.switch()

/usr/local/lib/python3.8/dist-packages/gevent/_gevent_c_greenlet_primitives.cpython-38-x86_64-linux-gnu.so in gevent._gevent_c_greenlet_primitives.SwitchOutGreenletWithLoop.switch()

src/gevent/_gevent_c_greenlet_primitives.pxd in gevent._gevent_c_greenlet_primitives._greenlet_switch()

timeout: timed out

And when i run thi code
triton_client.get_model_repository_index()
The output is

POST /v2/repository/index, headers None

<HTTPSocketPoolResponse status=200 headers={'content-type': 'application/json', 'content-length': '152'}>
bytearray(b'[{"name":"criteo","version":"1","state":"READY"},{"name":"criteo_nvt","version":"1","state":"READY"},{"name":"criteo_tf","version":"1","state":"READY"}]')
[{'name': 'criteo', 'version': '1', 'state': 'READY'},
 {'name': 'criteo_nvt', 'version': '1', 'state': 'READY'},
 {'name': 'criteo_tf', 'version': '1', 'state': 'READY'}]

Aha! Link: https://nvaiinfa.aha.io/features/MERLIN-836

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with examples/scaling-criteo/04-Triton-Inference-with-TF.ipynb and reproduce the timeout at triton_client.load_model(model_name="criteo"). Compare it with triton_client.get_model_repository_index(), which returns the models as READY. Done means identifying the cause of the timeout and documenting or correcting the affected workflow; the linked Aha feature may provide additional context.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend-api-design, machine-learning
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.