nvidia / ai-assisted-annotation-client Goto Github PK
View Code? Open in Web Editor NEWClient side integration example source code and libraries for AI-Assisted Annotation SDK
License: Other
Client side integration example source code and libraries for AI-Assisted Annotation SDK
License: Other
@lassoan creating this issue for tracking clara v3 release and to upgrade the default public server for 3D slicer.
Is it possible to receive a float32 volume instead of a segmentation mask as the output of an auto-segmentation custom model?
I install NvidiaAIAAClient-1.0.1-win64.exe and run the example.cpp in VS2015(win10),but got the error:
"14:45:50 [ERROR] [curlutils.cpp:83 - doGet()] Host not found: my-aiaa-server.com
nvidia::aiaa::exception => nvidia.aiaa.error.101; description: Failed to communicate to AIAA Server"
And, i am working with MITK, what should i set for server URI?
Thank you very much!
whenever I try to use this module in slicer I'm getting the following error,
Traceback (most recent call last): File "C:/Users/anand.mulay/AppData/Roaming/NA-MIC/Extensions-29363/NvidiaAIAssistedAnnotation/lib/Slicer-4.11/qt-scripted-modules/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py", line 472, in onClickAnnotation result_file = self.logic.dextr3d(in_file, session_id, model, pointSet) File "C:/Users/anand.mulay/AppData/Roaming/NA-MIC/Extensions-29363/NvidiaAIAssistedAnnotation/lib/Slicer-4.11/qt-scripted-modules/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py", line 1053, in dextr3d session_id=session_id) File "C:\Users\anand.mulay\AppData\Roaming\NA-MIC\Extensions-29363\NvidiaAIAssistedAnnotation\lib\Slicer-4.11\qt-scripted-modules\NvidiaAIAAClientAPI\client_api.py", line 265, in dextr3d points, crop = AIAAUtils.image_pre_process(image_in, cropped_file, point_set, pad, roi_size) File "C:\Users\anand.mulay\AppData\Roaming\NA-MIC\Extensions-29363\NvidiaAIAssistedAnnotation\lib\Slicer-4.11\qt-scripted-modules\NvidiaAIAAClientAPI\client_api.py", line 567, in image_pre_process out_image = AIAAUtils.resample_image(cropped_image, target_size, True) File "C:\Users\anand.mulay\AppData\Roaming\NA-MIC\Extensions-29363\NvidiaAIAssistedAnnotation\lib\Slicer-4.11\qt-scripted-modules\NvidiaAIAAClientAPI\client_api.py", line 506, in resample_image return resample.Execute(itk_image) File "C:\Program Files\Slicer 4.11.0-2020-09-08\lib\Python\lib\site-packages\simpleitk-2.0.0rc3-py3.6-win-amd64.egg\SimpleITK\SimpleITK.py", line 20325, in Execute return _SimpleITK.ResampleImageFilter_Execute(self, image1) RuntimeError: Exception thrown in SimpleITK ResampleImageFilter_Execute: D:\D\P\Slicer-0-build\ITK\Modules\Core\Common\include\itkImageBase.hxx:177: itk::ERROR: itk::ERROR: Image(000001D711EAF140): A spacing of 0 is not allowed: Spacing is [0, 0, 1.58594]
I'm trying a script given my slicer developer gist,
https://gist.github.com/lassoan/ef30bc27a22a648ead7f82243f5cc7d5
here,am I missing something?
I use the plugin-in in 3D slicer, I want to segment tooth automatically, Is there any relevant instruction to train and replace the ai model in Auto-segmentation ?
Hi,
When I tried the example code of Quick Start, I encountered some problem..
I typed nvidiaAIAAListModels -h
to get default server URI, and this worked.
But when I typed nvidiaAIAAListModels -server http://default_server_URI:5000/v1
, it soon failed.
Here is error message, it seems timeout. I also use timeout
options 60 to 300, but it still failed quickly.
22:55:24 [ERROR] [curlutils.cpp:83 - doGet()] Timeout: connect timed out: 10.110.45.66:5000
nvidia::aiaa::exception => nvidia.aiaa.error.101; description: Failed to communicate to AIAA Server
Could anyone help me? Thanks!
By the way, how to upgrade client version to v1.0.2 or how to reinstall client?
Is there a way to create a session by uploading multiple image files?
As of now, it seems that there is only one "image" uploaded.
In every few days, the AIAA server stops responding to model requests (http://perklabseg.asuscomm.com:5000/v1/models times out), while the server API tester (http://perklabseg.asuscomm.com:5000/) and logs (http://perklabseg.asuscomm.com:5000/logs/) work OK. It recovers by itself after about 5-10 minutes. See the logs here: https://pastebin.com/9kpDn9WW (search for >>>>>
to see where the error happened and when the server recovered).
Trying to use http://127.0.0.1:5000/aiaa as Server URI in 3D Slicer.
But it ignores the additional path in the server URI
I have MITK running in a jupyter hub environment with VNC for gui. The NVIDIA AIAA plugin does not successfully load when starting MitkWorkbench.sh
at 0x7fbdb63ffdd6: ctkBackTrace::ctkBackTrace(unsigned long) + 0x96 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKCore.so.0.1
at 0x7fbdb6421bdb: ctkException::ctkException(QString const&, ctkException const&) + 0x4b in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKCore.so.0.1
at 0x7fbdb64223e2: ctkRuntimeException::ctkRuntimeException(QString const&, ctkException const&) + 0x42 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKCore.so.0.1
at 0x7fbdc1a4eef9: ctkPluginException::ctkPluginException(QString const&, ctkPluginException::Type const&, ctkException const&) + 0x49 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKPluginFramework.so.0.1
at 0x7fbdc1a2dbaa: ??? + 0xc1a2dbaa in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKPluginFramework.so.0.1
at 0x7fbdc1a4cbdb: ctkPluginContext::installPlugin(QUrl const&, QIODevice*) + 0x3b in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKPluginFramework.so.0.1
at 0x7fbdc1a68f90: ??? + 0xc1a68f90 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKPluginFramework.so.0.1
at 0x7fbdc1a67969: ctkPluginFrameworkLauncher::startup(QRunnable*) + 0x319 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKPluginFramework.so.0.1
at 0x7fbdc1a67d47: ctkPluginFrameworkLauncher::run(QRunnable*, QVariant const&) + 0x47 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKPluginFramework.so.0.1
at 0x7fbdc26841cd: mitk::BaseApplication::main(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) + 0x12d in /home/arc/MITK-v2021.02-linux-x86_64/bin/libMitkAppUtil.so
at 0x7fbdc19cd7d7: Poco::Util::Application::run() + 0x37 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libPocoUtil.so.60
at 0x558f8a24d66b: ??? + 0x8a24d66b in /home/arc/MITK-v2021.02-linux-x86_64/bin/MitkWorkbench
at 0x7fbdc1aff0b3: __libc_start_main + 0xf3 in /usr/lib/x86_64-linux-gnu/libc.so.6
at 0x558f8a24d79e: ??? + 0x8a24d79e in /home/arc/MITK-v2021.02-linux-x86_64/bin/MitkWorkbench
Caused by: ctkPluginException: The plugin "/home/arc/MITK-v2021.02-linux-x86_64/bin/plugins/liborg_mitk_nvidia_aiaa.so" could not be loaded: Cannot load library /home/arc/MITK-v2021.02-linux-x86_64/bin/plugins/liborg_mitk_nvidia_aiaa.so: (libNvidiaAIAAClient.so: cannot open shared object file: No such file or directory)
at 0x7fbdb63ffdd6: ctkBackTrace::ctkBackTrace(unsigned long) + 0x96 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKCore.so.0.1
at 0x7fbdb6421b04: ctkException::ctkException(QString const&) + 0x44 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKCore.so.0.1
at 0x7fbdb6422372: ctkRuntimeException::ctkRuntimeException(QString const&) + 0x42 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKCore.so.0.1
at 0x7fbdc1a4ee86: ctkPluginException::ctkPluginException(QString const&, ctkPluginException::Type const&) + 0x46 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKPluginFramework.so.0.1
at 0x7fbdc1a9334b: ??? + 0xc1a9334b in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKPluginFramework.so.0.1
at 0x7fbdc1a94b1f: ??? + 0xc1a94b1f in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKPluginFramework.so.0.1
at 0x7fbdc1a94d08: ??? + 0xc1a94d08 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKPluginFramework.so.0.1
at 0x7fbdc1a8a422: ??? + 0xc1a8a422 in /home/arc/MITK-v2021.02-linux-x86_64/bin/libCTKPluginFramework.so.0.1
... 9 more```
Hi all, I got this error when trying to run the NVidia ct liver tumor segmentation. anyone can help me?
Traceback (most recent call last):
File "C:/Users/Akmal/AppData/Local/NA-MIC/Slicer 4.11.20210226/NA-MIC/Extensions-29738/NvidiaAIAssistedAnnotation/lib/Slicer-4.11/qt-scripted-modules/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py", line 410, in onClickSegmentation
extreme_points, result_file = self.logic.segmentation(in_file, session_id, model)
File "C:/Users/Akmal/AppData/Local/NA-MIC/Slicer 4.11.20210226/NA-MIC/Extensions-29738/NvidiaAIAssistedAnnotation/lib/Slicer-4.11/qt-scripted-modules/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py", line 1092, in segmentation
session_id=session_id,
File "C:\Users\Akmal\AppData\Local\NA-MIC\Slicer 4.11.20210226\NA-MIC\Extensions-29738\NvidiaAIAssistedAnnotation\lib\Slicer-4.11\qt-scripted-modules\NvidiaAIAAClientAPI\client_api.py", line 389, in inference
raise AIAAException(AIAAError.SERVER_ERROR, 'Status: {}; Response: {}'.format(status, form))
NvidiaAIAAClientAPI.client_api.AIAAException: (3, 'Status: 404; Response: b'\n<title>404 Not Found</title>\n
The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
\n'')Hi,
As title, when I load the first image and run an auto segmentation model, the segmentation is as expected.
Then, I close my first image by Close Scene
(Not close 3D slicer) and reload the second image to run the same auto segmentation model.
But the segmentation result is as same as the first one, it seems that 3D slicer post the first image's temporary file to the remote server not the second image.
Is this an issue or my operation mistake?
Use my own clara AIAA server, 3D Slicer could list all the models loaded by AIAA load
in AIAA server.
And Use the MRBrainTumor1 , downloaded from Sample Data for test ,
But when I click the Select +ve points
and placing point on the right picture ,it errors.
I make sure the AIAA Server is up (with command AIAA status
).
Run Deepgrow for segment: Segment_1; model: clara_deepgrow_2d_annotation; 3d False - Status: 500; Response: b'{"error":{"message":["\\nUnknown type name \'NoneType\':\\nSerialized File \\"code/__torch__/monai/networks/nets/basic_unet.py\\", line 42\\n __buffers__ = []\\n training : bool\\n _is_full_backward_hook : NoneType\\n ~~~~~~~~ <--- HERE\\n conv_0 : __torch__.monai.networks.blocks.convolutions.Convolution\\n conv_1 : __torch__.monai.networks.blocks.convolutions.___torch_mangle_1.Convolution\\n"],"type":"RuntimeError"},"success":false}\n'
The test server seems to be offline, these URLs don't return any Json document:
Also worth noting that ping of 10.110.45.66 is failing.
Thank you for setting up the AI assisted annotation client!
I was searching through the docs but I was not able to find a way to use predictions from models that are not loaded onto the annotation server. (For bringing my own models I only found the option to upload them in the TensorFlow checkpoint or TensorRT format.)
Are there other options to incorporate predictions of "external" models into the annotation server?
Thank you very much & kind regards
Michael
Release version 1.0.0 for public use
Hello, everyone. I want to start working with AIAAclient and I have an error in the second line of the code:
client = client_api.AIAAClient(server_url='http://0.0.0.0:5000')
models = client.model_list(label='spleen')
Terminal:
Traceback (most recent call last):
File "/Users/akabynda/Diffuse_Steatoch/main.py", line 254, in
models = client.model_list(label='spleen')
File "/Users/akabynda/Diffuse_Steatoch/py_client/client_api.py", line 192, in model_list
raise AIAAException(AIAAError.SERVER_ERROR, 'Status: {}; Response: {}'.format(status, response))
py_client.client_api.AIAAException: (3, "Status: 403; Response: b''")
I have followed all the instructions (https://docs.nvidia.com/clara/clara-train-sdk/pt/installation.html and https://docs.nvidia.com/clara/clara-train-sdk/aiaa/quickstart.html). Can you help me?
Hello I am trying to perform a segmentation of inflammatory mass related to the infection of vascular graft infections. I try to use slicer Nvidia AIAA but I have 2 problems
Dear all,
Unfortunately I’m facing issue using nVIDIA AIAA module "clara_pt_prostate_mri_segmentation" in 3D Slicer.
Running the AI I get this error:
" Traceback (most recent call last):
File “C:/Users/M/AppData/Local/NA-MIC/Slicer 4.11.20210226/NA-MIC/Extensions-29738/NvidiaAIAssistedAnnotation/lib/Slicer-4.11/qt-scripted-modules/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py”, line 410, in onClickSegmentation
extreme_points, result_file = self.logic.segmentation(in_file, session_id, model)
File “C:/Users/M/AppData/Local/NA-MIC/Slicer 4.11.20210226/NA-MIC/Extensions-29738/NvidiaAIAssistedAnnotation/lib/Slicer-4.11/qt-scripted-modules/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py”, line 1092, in segmentation
session_id=session_id,
File “C:\Users\M\AppData\Local\NA-MIC\Slicer 4.11.20210226\NA-MIC\Extensions-29738\NvidiaAIAssistedAnnotation\lib\Slicer-4.11\qt-scripted-modules\NvidiaAIAAClientAPI\client_api.py”, line 389, in inference
raise AIAAException(AIAAError.SERVER_ERROR, ‘Status: {}; Response: {}’.format(status, form))
NvidiaAIAAClientAPI.client_api.AIAAException: (3, ‘Status: 500; Response: b’{“error”:{“message”:[],“type”:“InferenceServerException”},“success”:false}\n’’) "
The prostate model probably fails because it requires two input images (T2 and ADC), but on Slicer I do not have the option to select two volumes.
Thank you very much !
M.
I try to use the NVIDIA AIAA today and it suddenly stopped working.
Seems to fail to connect to the public server. Is there any ETA on fix?
Please advise.
I would love to setup my own server but I won't be able to do that till next year due to funding issue.
For NVIDIA team, how fast could an annotation be updated when given additional points? Do you think it's possible to get a new segmentation update via AIAA after each point is added?
Currently due to windows dependency build issue, in POCO SSL option is not enabled
Also MITK needs to support SSL support for it's internal POCO build to make it complete.
For Auto Segmentation, cmd+n for "Run Segmentation"
For AIAA, possibly cmd+p once to activate fiducials, twice to de-activate
then cmd+m for "Run DExtr3D"
Run Segmentation for model: segmentation_ct_liver_and_tumor - Status: 404; Response: b'\n<title>404 Not Found</title>\n
The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
\n'Is there any local server address in Germany I can manually enter to access the server as leaving it blank does not work.
Thank you.
Ideally, there would be a workflow possibly like this: user selects model they would like to use under "Auto Segmentation" and "Annotation" (which would only show those available), then the model is fetched when selected and a new Segment node is made automatically. Thoughts?
Currently, I think it's tough to move the AIAA Server Info off this screen since model needs to be fetched only after an organ segmentation is manually created that corresponds to an available model on the server.
Hi Professors, can you please install "HeaortaNet_clara_ct_seg_heart_and_aorta" to the server? Or was it just not implemented in the GUI? If so can I receive some instructions regarding the custom Python scripting? Thank you in advance.
Thank your team for the cool project!
The project currently supports classification, segmentation tasks. Do you have any plan to support the detection task for example faster-rcnn using pytorch?
Currently all curl/http logic duplicated into slicer plugin.. use existing PY client from AIAA instead to make any AIAA request
The last build was on 30th Jan, 2020. Any changes after that are not getting pushed to plugin repository through nightly build. However build was successful on CDash
http://slicer.cdash.org/index.php?project=SlicerPreview
However some error for Slicer4 version: http://slicer.cdash.org/viewBuildError.php?buildid=1839709
It's great to see all the progress with the Slicer plugin.
Would you like to make the extension downloadable from Slicer's Extension manager? It would make the installation much easier (few mouse clicks).
For both Slicer stable (4.10.2) and preview releases?
Should the extension manager to automatically fetch the latest master version every night from this repository's master branch? (this is usually the recommended way for actively developed extensions, but if you prefer you can choose a designated release branch or a fixed git tag instead).
Hi guys, sorry if I'm posting in the wrong session, but I'm new to this.
It seems that the new server address is not working propperly. I keep getting this error message when trying to use tool:
"Failed to fetch models from remote server. Make sure server address is correct and <server_uri>/v1/models is accessible in browser".
In the detais tab, I get this:
Traceback (most recent call last):
File "C:/Users/davi_/AppData/Local/NA-MIC/Slicer 5.1.0-2022-05-29/NA-MIC/Extensions-30976/NvidiaAIAssistedAnnotation/lib/Slicer-5.1/qt-scripted-modules/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py", line 198, in fetchAIAAModels
models = self.logic.list_models()
File "C:/Users/davi_/AppData/Local/NA-MIC/Slicer 5.1.0-2022-05-29/NA-MIC/Extensions-30976/NvidiaAIAssistedAnnotation/lib/Slicer-5.1/qt-scripted-modules/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py", line 1076, in list_models
return aiaaClient.model_list(label)
File "C:\Users\davi_\AppData\Local\NA-MIC\Slicer 5.1.0-2022-05-29\NA-MIC\Extensions-30976\NvidiaAIAssistedAnnotation\lib\Slicer-5.1\qt-scripted-modules\NvidiaAIAAClientAPI\client_api.py", line 190, in model_list
status, response = AIAAUtils.http_method('GET', self.server_url, selector)
File "C:\Users\davi\AppData\Local\NA-MIC\Slicer 5.1.0-2022-05-29\NA-MIC\Extensions-30976\NvidiaAIAssistedAnnotation\lib\Slicer-5.1\qt-scripted-modules\NvidiaAIAAClientAPI\client_api.py", line 626, in http_method
conn.request(method, selector)
File "C:\Users\davi_\AppData\Local\NA-MIC\Slicer 5.1.0-2022-05-29\lib\Python\Lib\http\client.py", line 1285, in request
self.send_request(method, url, body, headers, encode_chunked)
File "C:\Users\davi\AppData\Local\NA-MIC\Slicer 5.1.0-2022-05-29\lib\Python\Lib\http\client.py", line 1331, in send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "C:\Users\davi\AppData\Local\NA-MIC\Slicer 5.1.0-2022-05-29\lib\Python\Lib\http\client.py", line 1280, in endheaders
self.send_output(message_body, encode_chunked=encode_chunked)
File "C:\Users\davi\AppData\Local\NA-MIC\Slicer 5.1.0-2022-05-29\lib\Python\Lib\http\client.py", line 1040, in send_output
self.send(msg)
File "C:\Users\davi\AppData\Local\NA-MIC\Slicer 5.1.0-2022-05-29\lib\Python\Lib\http\client.py", line 980, in send
self.connect()
File "C:\Users\davi_\AppData\Local\NA-MIC\Slicer 5.1.0-2022-05-29\lib\Python\Lib\http\client.py", line 946, in connect
self.sock = self.create_connection(
File "C:\Users\davi\AppData\Local\NA-MIC\Slicer 5.1.0-2022-05-29\lib\Python\Lib\socket.py", line 844, in create_connection
raise err
File "C:\Users\davi_\AppData\Local\NA-MIC\Slicer 5.1.0-2022-05-29\lib\Python\Lib\socket.py", line 832, in create_connection
sock.connect(sa)
TimeoutError: [WinError 10060] A connection attempt failed because the connected component did not respond
correctly after a period of time or the established connection failed because the connected host did not respond
Hi all, I have followed this instruction to plug in NVIDIA.
But, how to build it in CMake. (attached picture is my C Make)
this step I did not get the last step.
This one: To build extension package, build 3D Slicer then configure ai-assisted-annotation-client project using CMake, defining these variables: -DSlicer_DIR:PATH=… -DNvidiaAIAssistedAnnotation_BUILD_SLICER_EXTENSION:BOOL=ON
For developers
The plugin can be downloaded and installed directly from GitHub:
git clone GitHub - NVIDIA/ai-assisted-annotation-client: Client side integration example source code and libraries for AI-Assisted Annotation SDK
Open 3D Slicer: Go to Edit → Application Settings → Modules → Additional Module Paths
Add New Module Path: <FULL_PATH>/slicer-plugin/NvidiaAIAA
Restart
To build extension package, build 3D Slicer then configure ai-assisted-annotation-client project using CMake, defining these variables: -DSlicer_DIR:PATH=… -DNvidiaAIAssistedAnnotation_BUILD_SLICER_EXTENSION:BOOL=ON
I wanted to try the liver segmentation with AIAA. I downloaded the extension and runned a sample data from 3d slicer. In "Segment from boundary points" the function "annotation ct liver" is not showing.
How do I find the function "annotation ct liver" ?
The new feature/plugin include deepgrow action in 2D tools. Can we refresh MITK workbench with the latest AIAA client+MITK Plugin (which is v1.0.2 or master)
https://github.com/NVIDIA/ai-assisted-annotation-client/releases/
For reference (how deepgrow works):
https://drive.google.com/open?id=1C88SrVjbiyFyDwsQhYwTKPmlgrmlxO8I
Open to other suggestions on optimal work flow.
Initial thought is to have the following:
Thanks a lot for working on this!
I've tried the extension and got this error when clicked on "Fetch models":
TimeoutError: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
I just used the IP address that was offered by default. How can I try this? Do I need to run a server locally? It would be great if you could update the README.md file with instructions to set up the annotation server.
We are excited to try this and would be happy to help if you had any questions about Slicer integration. You can post on the Slicer forum or add me to this repository and @mention me or assign issues.
Use my own clara AIAA server, 3D Slicer could list all the models loaded by AIAA load
in AIAA server.
And Use the MRBrainTumor1 , downloaded from Sample Data for test ,
But when I click the Select +ve points
and placing point on the right picture ,it errors.
I make sure the AIAA Server is up (with command AIAA status
).
Run Deepgrow for segment: Segment_1; model: clara_deepgrow_2d_annotation; 3d False - Status: 500; Response: b'{"error":{"message":["\\nUnknown type name \'NoneType\':\\nSerialized File \\"code/__torch__/monai/networks/nets/basic_unet.py\\", line 42\\n __buffers__ = []\\n training : bool\\n _is_full_backward_hook : NoneType\\n ~~~~~~~~ <--- HERE\\n conv_0 : __torch__.monai.networks.blocks.convolutions.Convolution\\n conv_1 : __torch__.monai.networks.blocks.convolutions.___torch_mangle_1.Convolution\\n"],"type":"RuntimeError"},"success":false}\n'
We setup our AIAA server using the guide provided in https://docs.nvidia.com/clara/clara-train-sdk/aiaa/quickstart.html, and used the MITK workbench with AIAA client as downloaded from here - https://www.mitk.org/wiki/Downloads/NVIDIA_AI-Assisted_Annotation_Client.
After setting our server to interact with the client, we are able to load models for segmentation, and run them successfully. However if we attempt to use the annotation option under 3D Segmentation, and provide six seed points, we get the error as below -
Response: {"error":{"message":["invalid literal for int() with base 10: '[[41,71,64],[57,41,64],[71,85,64],[45,87,64],[67,67,64],[87,49,64]]'"],"type":"ValueError"},"success":false}
How should we proceed from here?
Hello, I'm currently having problem installing MITK 2018.04.2 http://www.mitk.org/download/releases/MITK-2018.04.2/Nvidia/Linux/
May I ask what is the prerequisite for AIAA Client and how to install it?
I already install nvidia-docker2, and have NGC account what is the next step?
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Sel Jul 30 18:53:23 2019 Debug: org.commontk.eventadmin.LogLevel=2
in startOrUpdate, /home/kislinsk/MITK-superbuild/ep/src/CTK/Plugins/org.commontk.eventadmin/ctkEAConfiguration.cpp:215
Sel Jul 30 18:53:23 2019 Debug: org.commontk.eventadmin.CacheSize=30
in startOrUpdate, /home/kislinsk/MITK-superbuild/ep/src/CTK/Plugins/org.commontk.eventadmin/ctkEAConfiguration.cpp:217
Sel Jul 30 18:53:23 2019 Debug: org.commontk.eventadmin.ThreadPoolSize=20
in startOrUpdate, /home/kislinsk/MITK-superbuild/ep/src/CTK/Plugins/org.commontk.eventadmin/ctkEAConfiguration.cpp:219
Sel Jul 30 18:53:23 2019 Debug: org.commontk.eventadmin.Timeout=5000
in startOrUpdate, /home/kislinsk/MITK-superbuild/ep/src/CTK/Plugins/org.commontk.eventadmin/ctkEAConfiguration.cpp:221
Sel Jul 30 18:53:23 2019 Debug: org.commontk.eventadmin.RequireTopic=true
in startOrUpdate, /home/kislinsk/MITK-superbuild/ep/src/CTK/Plugins/org.commontk.eventadmin/ctkEAConfiguration.cpp:223
Sel Jul 30 18:53:23 2019 Debug: org.commontk.eventadmin.LogLevel=2
in startOrUpdate, /home/kislinsk/MITK-superbuild/ep/src/CTK/Plugins/org.commontk.eventadmin/ctkEAConfiguration.cpp:215
Sel Jul 30 18:53:23 2019 Debug: org.commontk.eventadmin.CacheSize=30
in startOrUpdate, /home/kislinsk/MITK-superbuild/ep/src/CTK/Plugins/org.commontk.eventadmin/ctkEAConfiguration.cpp:217
Sel Jul 30 18:53:23 2019 Debug: org.commontk.eventadmin.ThreadPoolSize=20
in startOrUpdate, /home/kislinsk/MITK-superbuild/ep/src/CTK/Plugins/org.commontk.eventadmin/ctkEAConfiguration.cpp:219
Sel Jul 30 18:53:23 2019 Debug: org.commontk.eventadmin.Timeout=5000
in startOrUpdate, /home/kislinsk/MITK-superbuild/ep/src/CTK/Plugins/org.commontk.eventadmin/ctkEAConfiguration.cpp:221
Sel Jul 30 18:53:23 2019 Debug: org.commontk.eventadmin.RequireTopic=true
in startOrUpdate, /home/kislinsk/MITK-superbuild/ep/src/CTK/Plugins/org.commontk.eventadmin/ctkEAConfiguration.cpp:223
[Tue Jul 30 18:53:23 2019
0.404] Logfile: /home/ivanwilliam/.local/share/DKFZ/MITK Workbench_737102135/data/9/mitk-0.log
[0.517] [BlueBerry] LOG: Warning: Detected recursive attempt by part org.mitk.views.datamanager to create itself (this is probably, but not necessarily, a bug)
!1.071! WARNING: An OpenGL Core Profile was requested, but it is not supported on the current platform. Falling back to a non-Core profile. Note that this might cause rendering issues.
[0730/185324.247955:WARNING:stack_trace_posix.cc(699)] Failed to open file: /tmp/.glnL7i5O (deleted)
Error: No such file or directory
[0730/185324.247981:WARNING:stack_trace_posix.cc(699)] Failed to open file: /home/ivanwilliam/.glvnd5jOSUp (deleted)
Error: No such file or directory
[12376:12376:0730/185324.315885:ERROR:zygote_host_impl_linux.cc(90)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
Received signal 11 SEGV_MAPERR 000000000008
#0 0x7feadede3d2f <unknown>
#1 0x7feadd80cb9d <unknown>
#2 0x7feadede423e <unknown>
#3 0x7feb25583f20 <unknown>
#4 0x7feb25f78404 QReadWriteLock::lockForRead()
#5 0x7feb1ea587e6 QSqlDatabase::contains()
#6 0x7feb25307856 ctkPluginStorageSQL::getConnection()
#7 0x7feb25307d11 ctkPluginStorageSQL::close()
#8 0x7feb25308060 ctkPluginStorageSQL::~ctkPluginStorageSQL()
#9 0x7feb252cd5e6 ctkPluginFrameworkContext::uninit()
#10 0x7feb252cc630 ctkPluginFrameworkFactory::~ctkPluginFrameworkFactory()
#11 0x7feb252e2ac4 QScopedPointer<>::~QScopedPointer()
#12 0x7feb25588615 __cxa_finalize
#13 0x7feb252b0ee3 <unknown>
r8: 0000000002a8434c r9: 00007feb268c7120 r10: 00000000029f0998 r11: 000000000000004e
r12: 00000000028a1080 r13: 0000000002321d90 r14: 0000000001e6ac70 r15: 00007fff6cc5df90
di: 0000000000000008 si: 0000000000000002 bp: 0000000000000000 bx: 0000000000000008
dx: 0000000000000001 ax: 0000000000000000 cx: 00007feb268c67a0 sp: 00007fff6cc5de30
ip: 00007feb25f78404 efl: 0000000000010246 cgf: 002b000000000033 erf: 0000000000000006
trp: 000000000000000e msk: 0000000000001000 cr2: 0000000000000008
[end of stack trace]
Calling _exit(1). Core file will not be generated.
System information:
OS: Ubuntu 18.04 LTS,
Hardware: Palit RTX 2080 8GB, 32GB RAM DDR4, Intel i7-8700,
NVIDIA driver:418.67
CUDA: 10.1
Tue Jul 30 18:56:02 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.67 Driver Version: 418.67 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce RTX 2080 Off | 00000000:01:00.0 On | N/A |
| 30% 39C P8 21W / 225W | 251MiB / 7949MiB | 6% Default |
+-------------------------------+----------------------+----------------------+
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Apr_24_19:10:27_PDT_2019
Cuda compilation tools, release 10.1, V10.1.168
Best regards,
Ivan WH
Hi, I can't make the AI-AA server run on localhost. Instead, it gets automatically allocated at 172.17.0.2
When running:
docker run --runtime=nvidia -it --rm -v /home/<username>/tlt-experiments:/workspace/tlt-experiments $dockerImage start_aas.sh
I get the warning:
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
Here's the full track:
NVIDIA Release 19.09 (build 8044707)
TensorFlow Version 1.14.0
Container image Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved.
Copyright 2017-2019 The TensorFlow Authors. All rights reserved.
Various files include modifications (c) NVIDIA CORPORATION. All rights reserved.
NVIDIA modifications are covered by the license terms that apply to the underlying project or file.
NOTE: MOFED driver for multi-node communication was not detected.
Multi-node communication performance may be reduced.
/opt/nvidia/medical/aiaa-launch-config.json
ENGINE:: engine=TRTIS
TRTIS:: Backend is enabled
TRTIS:: trtis_ip=localhost
TRTIS:: Will setup TRTIS Server on localhost
TRTIS:: trtis_http_port=8000
TRTIS:: trtis_grpc_port=8001
TRTIS:: trtis_metrics_port=8002
TRTIS:: trtis_proto=grpc
TRTIS:: trtis_model_path=/var/nvidia/aiaa/trtis_models
TRTIS:: trtis_verbose=false
TRTIS:: trtis_log=/var/nvidia/aiaa/logs/host-80/trtis.log
TRTIS:: trtis_start_timeout=120
TRTIS:: trtis_model_timeout=30
TRTIS:: Waiting 1 seconds to fully up...
TRTIS:: Waiting 2 seconds to fully up...
TRTIS:: Server started with pid: 68
AIAA:: aiaa_port=80
AIAA:: aiaa_log_file=/var/nvidia/aiaa/logs/host-80/aiaa.log
AIAA:: aiaa_log_dir=/var/nvidia/aiaa/logs/host-80
AIAA:: aiaa_workspace=/var/nvidia/aiaa
AIAA:: aiaa_ssl=false
AIAA:: aiaa_ssl_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
AIAA:: aiaa_ssl_pkey_file=/etc/ssl/private/ssl-cert-snakeoil.key
* Stopping Apache httpd web server apache2 *
Site 000-default disabled.
To activate the new configuration, you need to run:
service apache2 reload
Enabling site AIAA.
To activate the new configuration, you need to run:
service apache2 reload
Starting AIAA Server...
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
How can I fix this?
I tried the solutions proposed here (which are similar to suggestions from many other places): https://askubuntu.com/questions/329323/problem-with-restarting-apache-2
The warning message changes, but the container is still accessible only through 172.17.0.2
, I want it to be exposed on localhost:5000
Hi,
we just created our release branch for MITK v2021.01 and Nvidia AIAA needs a little migration to be compatible again.
edit: Removed patch from description in favor of #79
Hello Sir,
I tried the AI Segmentation function NVIDIA AI-Assisted Annotation in MITK 2018.04.2, but an error occurred "Failed to execute 'dextr3d' on Nvidia AIAA Server, nvidia.aiaa.error.101, description: Failed to communicate to AIAA Server". Could you please help me with this problem? Thank you.
when I try to use this tools the 3D slicer show this window:
Traceback (most recent call last):
File "C:/Users/xiaoqianmu/AppData/Local/NA-MIC/Slicer 5.2.2/NA-MIC/Extensions-31382/NvidiaAIAssistedAnnotation/lib/Slicer-5.2/qt-scripted-modules/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py", line 198, in fetchAIAAModels
models = self.logic.list_models()
File "C:/Users/xiaoqianmu/AppData/Local/NA-MIC/Slicer 5.2.2/NA-MIC/Extensions-31382/NvidiaAIAssistedAnnotation/lib/Slicer-5.2/qt-scripted-modules/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py", line 1076, in list_models
return aiaaClient.model_list(label)
File "C:\Users\xiaoqianmu\AppData\Local\NA-MIC\Slicer 5.2.2\NA-MIC\Extensions-31382\NvidiaAIAssistedAnnotation\lib\Slicer-5.2\qt-scripted-modules\NvidiaAIAAClientAPI\client_api.py", line 192, in model_list
raise AIAAException(AIAAError.SERVER_ERROR, 'Status: {}; Response: {}'.format(status, response))
NvidiaAIAAClientAPI.client_api.AIAAException: (3, "Status: 404; Response: b'\r\n<title>404 Not Found</title>\r\n\r\n
I´m a doctor trying to use 3D Slicer for jaw segmentation. I kew about Nvidia AAIA just recently and installed the plugin. I don´t know how to set the server (too many coding lines that I do not know how to use), and living the space blank does not let me try. I would like to use my own dicom sets but trying to use the module scapes my computer skills. Is there any plug an play way to perform the AI segmetations without the tedious other options slicer provides_
I tried using the extension, and did this:
However I got a python error:
Traceback (most recent call last):
File "C:/d/_Extensions/NvidiaAIAA/NvidiaAIAA/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py", line 165, in onClickModels
models = json.loads(logic.list_models(label if self.filterByLabel.checked else None))
File "C:/d/_Extensions/NvidiaAIAA/NvidiaAIAA/SegmentEditorNvidiaAIAALib/SegmentEditorEffect.py", line 472, in list_models
conn.request('GET', selector)
File "C:\Users\pinter\AppData\Local\NA-MIC\Slicer 4.11.0-2019-09-17\lib\Python\Lib\http\client.py", line 1239, in request
self._send_request(method, url, body, headers, encode_chunked)
File "C:\Users\pinter\AppData\Local\NA-MIC\Slicer 4.11.0-2019-09-17\lib\Python\Lib\http\client.py", line 1285, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "C:\Users\pinter\AppData\Local\NA-MIC\Slicer 4.11.0-2019-09-17\lib\Python\Lib\http\client.py", line 1234, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "C:\Users\pinter\AppData\Local\NA-MIC\Slicer 4.11.0-2019-09-17\lib\Python\Lib\http\client.py", line 1026, in _send_output
self.send(msg)
File "C:\Users\pinter\AppData\Local\NA-MIC\Slicer 4.11.0-2019-09-17\lib\Python\Lib\http\client.py", line 964, in send
self.connect()
File "C:\Users\pinter\AppData\Local\NA-MIC\Slicer 4.11.0-2019-09-17\lib\Python\Lib\http\client.py", line 936, in connect
(self.host,self.port), self.timeout, self.source_address)
File "C:\Users\pinter\AppData\Local\NA-MIC\Slicer 4.11.0-2019-09-17\lib\Python\Lib\socket.py", line 724, in create_connection
raise err
File "C:\Users\pinter\AppData\Local\NA-MIC\Slicer 4.11.0-2019-09-17\lib\Python\Lib\socket.py", line 713, in create_connection
sock.connect(sa)
ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it
It says that the target machine actively refused the connection. Does anybody know anything about this? Thanks!
This is to support latest feature from NVIDIA AIAA (Deepgrow 3D version) in MITK Workbench
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.