huangzhii / nuclei.io

nuclei.io: Human-in-the-loop active learning framework for pathology image analysis
https://huangzhii.github.io/nuclei-HAI/
MIT License
26 stars 4 forks source link

Performance issues on windows #2

Open GJiananChen opened 1 week ago

GJiananChen commented 1 week ago

Dear Zhi,

Thank you for sharing this amazing work! I have installed the repo following your instructions and was able to reproduce you showed in the YT video with the provided experimental data.

However, I run into the following problems when I was playing around with the tool.

  1. Stuck at 0/108 while running feature_pre-calculation/main.py

    2024-06-24 15:42:17.299282: I tensorflow/core/util/port.cc:113] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.
    2024-06-24 15:42:19.940113: I tensorflow/core/util/port.cc:113] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.
    Working on example_data/CMU_Aperio/CMU-1/CMU-1.svs ...
    Read data ... 15:42:26
    Found model '2D_versatile_he' for 'StarDist2D'.
    2024-06-24 15:42:28.555373: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
    To enable the following instructions: AVX2 AVX_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
    Loading network weights from 'weights_best.h5'.
    Loading thresholds from 'thresholds.json'.
    Using default values: prob_thresh=0.692478, nms_thresh=0.3.
    0%|                                                                                                                                                                                     | 0/108 [00:00<?, ?it/s]
  2. WebGL performance penalty caused by 'Attribute 0 is disabled' throughout running software/main.py.

  3. js Uncaught Type errors when I press 'review annotations and active learning' when running software/main.py

js: [.WebGL-000002499377ACC0]PERFORMANCE WARNING: Attribute 0 is disabled. This has significant performance penalty
[20288:40308:0624/151953.455:ERROR:gles2_cmd_decoder.cc(10989)] [.WebGL-000002499377ACC0]PERFORMANCE WARNING: Attribute 0 is disabled. This has significant performance penalty
js: [.WebGL-000002499377ACC0]PERFORMANCE WARNING: Attribute 0 is disabled. This has significant performance penalty
js: [.WebGL-000002499377ACC0]PERFORMANCE WARNING: Attribute 0 is disabled. This has significant performance penalty
Review annotations and active learning
window.onload
100%|███████████████████████████████████████████████████████████████████████████| 17991/17991 [00:41<00:00, 437.02it/s]
pressImage
left click
pressImage
left click
js: Uncaught TypeError: backend.click_VFC_plot is not a function
js: Uncaught TypeError: $(...).DataTable is not a function

I'm running the software on a Windows 11 machine with a 12th Gen Intel(R) Core(TM) i7-12700H 2.30 GHz CPU and a NVIDIA RTX A2000 8GB Laptop GPU.

Thanks, Jianan

huangzhii commented 6 days ago

Just saw this today. Have you figured out the issue 1?

I have never encountered the issue 2. Can you be more specific? What performance penalty have you observed?

The issue 3 "js Uncaught Type errors when I press 'review annotations and active learning' when running software/main.py" is not important and you can ignore it.

Thanks!

GJiananChen commented 2 days ago

Sorry I haven't figured out issue 1, but I can run the feature_pre-calculation step on HPCs instead, which I think will run smoothly.

For issue 2, I'm getting the error message "js: [.WebGL-000002499377ACC0]PERFORMANCE WARNING: Attribute 0 is disabled. This has significant performance penalty". I am not very sure how bad that performance penalty is. I can still get an updated segmentation in 2-3 seconds after I create annotations.

For issue 3, I think the uncaught error: $(...).DataTable is not a function is preventing any nucleus annotation to be displayed in the 'review annotations and active learning' window. I am seeing a blank screen as shown in the image below. image

Lastly, I was wondering if there is a way to save the annotations, i.e. labels of nuclei defined in the current study (and finetuned by the active leaning process) to a geojson file or other file formats?

Thanks a lot!