darrenjkt / MS3D

Auto-labeling of point cloud sequences for 3D object detection using an ensemble of experts and temporal refinement
Apache License 2.0
157 stars 17 forks source link

Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure. #22

Closed zplvzrm closed 7 months ago

zplvzrm commented 8 months ago

Dear authors:

I am going to test the model effect on the 22.04 version of Ubuntu server with two NVIDIA GeForce RTX 3090 graphics cards. The docker basic environment I built is cuda11.1.1-cudnn8-devel-ubuntu18.04. It went smoothly in the early stage, but when I In the docker environment, when preparing to visualize the results of initial_pseudo_labels.pkl, I encountered error:

MoTTY X11 proxy: Unsupported authorisation protocol visualize_bev.py:444: UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure. plt.show()

I followed the suggestions in visualize_bev.py and executed the command: apt-get update && apt-get install python3-tk But it has no effect, the error still exists. I also tried using tkagg, but it still didn't work. I hope you can give me some suggestions, I would be very grateful~

darrenjkt commented 8 months ago

Are you doing this: local computer > ssh into ubuntu server with RTX 3090 > run MS3D docker container? Then you're trying to run visualize_bev.py from the ssh terminal and expect a visualization window to open on your local computer? I assume this your use of ssh might be related to the MoTTY X11 proxy error.

If this is what you're doing, a potential fix could be using something like Teamviewer, VNCViewer or Remmina to do a remote desktop so that you can view the screen of your server. Then running the code in a terminal within that remote desktop session and it should open up a visualization window. If you want a cleaner solution, have a look at X11 forwarding for ssh.

For the agg error, maybe try pip install pyqt5. But I suspect that if you don't solve the MoTTY issue, the agg error wouldn't be solved either.