How can I get the Vulkan API working in Google Colab - vulkan

I tried running realsr-ncnn-vulkan to just test upscaling a simple image on Google's Colab platform.
https://github.com/nihui/realsr-ncnn-vulkan
The problem is that once I try to run it I'm getting the error
error while loading shared libraries: libvulkan.so.1: cannot open shared object file: No such file or directory
So what do I need to install prior before running it? Or is there no way to get vulkan working despite the pretty powerful GPU?

You are missing the libraries:
depending on your setup you need:
dnf install vulkan-headers vulkan-loader-devel
or
apt-get install libvulkan-dev
or
pacman -S vulkan-headers vulkan-icd-loader

Related

Problem running a PyQt5 project in WSLg - no application window shows up

I am running WSL2 under Windows 10.
If I type "gedit &" into the WSL console, the Gedit application window pops up. Thus I assume that WSLg properly works.
Next, I am trying to run the following PyQt5 project:
https://github.com/rafaelpadilla/review_object_detection_metrics
However, no application window pops up this time, although no error message appears either.
First of all, I do wonder whether this could work at all with WSL!?
Appendix for additional context:
I am not using conda because of licensing issues, but a combination of pyenv + poetry instead. First I had problems with a missing library (libxcb.so), which I could solve by running "sudo apt python-pyqt5". Now everything seems to work, except from no application window being shown.
UPDATE:
I tried with "/src/pyqt-official/qtdemo/qtdemo.py" from the official PyQt Examples github repository and I observed exactly the same issue.
There is no error message. Last prompt informs me that the "xcb plugin was loaded“, then nothing happens. In particular, no window is showing up.
Some related observations:
(1) I haven't yet updated my grafics card driver to support vGPUs. However, Gedit works and opens in a separate window.
(2) Unless I do "sudo apt install python3-pyqt", I receive an error message saying that it cannot find "libxcb.so". However, I am running the code in a virtual pyenv/poetry environment, which is separate from the system python installation. I don't understand why "sudo apt install python3-pyqt" makes a difference here. Shouldn't installing "PyQt5" with poetry obtain a wheel that comes with all libraries already compiled? I don't understand how all of this is playing together.
Open Questions:
Do you think the driver issue could be an explanation? I actually cannot imagine that. I thought it is only about better performance for OpenGL applications.
Can you explain observation (2)?
What else can I do?
First of all, I do wonder whether this could work at all with WSL!?
I can't tell you if that particular application will run under WSL, but my expectation is that it will. As far as I can tell in its dependencies there doesn't seem to be any reliance on GPU compute. That, to me, would be the trickiest part to configure under WSL (but is still typically possible). However, there may be other dependencies (not covered below) that you need to get running before the application can work.
What I can confirm is that PyQt works under WSL just fine. However, keep in mind that a default Ubuntu installation under WSL is based on a non-GUI Ubuntu Server distribution, rather than standard Ubuntu (with a desktop and GUI).
This means that Ubuntu Server is often missing system level libraries needed for GUI support, which appears to be the case here.
I don't understand why "sudo apt install python3-pyqt" makes a difference here. Shouldn't installing "PyQt5" with poetry obtain a wheel that comes with all libraries already compiled?
Poetry and/or Pip manage the Python library dependencies, but those Python libraries still require the native system library dependencies. That's where sudo apt install python3-pyqt5 comes in. Under a desktop Ubuntu system, most of these libraries would already be in place. However, with Ubuntu Server/WSL, they aren't.
For reference, here's my configuration. On a freshly initialized Ubuntu 22.04 WSL2 distribution:
sudo apt update && sudo apt upgrade -y
sudo apt install python3-venv python3-pyqt5
mkdir -p src/pyqt_test
cd src/pyqt_test
python3 -m venv .venv
source .venv/bin/activate
pip install pyqt5
I was then able to create and run the following, taken from Learn Python PyQt:
import sys
from PyQt5 import QtWidgets
app = QtWidgets.QApplication(sys.argv)
windows = QtWidgets.QWidget()
windows.resize(500,500)
windows.move(100,100)
windows.show()
sys.exit(app.exec_())
The window displayed correctly.

(m1 macbook) installing redis php extension results in wrong architecture, how can I get an arm64 architecture of redis.so

I'm trying to use redis to broadcast events on laravel but php isn't able to load this extension due to wrong architecture.
I used pecl install redis to install the extension and I'm wondering if there's a flag I can pass to build/install using a diff architecture (arm64)
PHP Startup: Unable to load dynamic library 'redis.so'
no suitable image found. Did find:
redis.so: mach-o, but wrong architecture
running lipo -info redis.so results in redis.so is architecture: x86_64
But I think my machine (m1 macbook) requires an arm64 extension. (as I see other .so files with the correct architecture.
Any help on how I can create this would be greatly appreciated.
I've tried to download the tar file, extract and make, but on make test, the device actually crashes during the process, or overheats and just doesn't finish executing make test.
One way is to use the terminal in x86 mode on top of Rosetta 2.
Go to where the terminal application is located in the finder (Applications/Utilities/Terminal)
Click it once so it highlights then press cmd + I to open up the information tab.
Hit this:
to open the terminal in the Rosetta mode.
Open the terminal
This doesn't always work for the nature of some programs but it is worth giving it a shot.

tensorflow probability installation

I am trying to install "TensorFlow-Probability" for windows offline without going through internet so that I can avoid network firewall issue, but I could not find any instruction about how to. Any suggestion?
TensorFlow-Probability is pure python, there is no need for a windows build of it.
You should be able to download the file from: https://pypi.org/project/tensorflow-probability/#files
and pip install it in a conda or python environment.

Does tensorflow support Python 3.6.4 on Windows?

I'm running a Windows computer with just a CPU (no GPU). When I run pip install tensorflow -vvv in order to see what pip is doing, it lists a lot of links, but for all of them, it says "Skipping link ... it is not compatible with this Python."
Does tensorflow support Python 3.6.4 on Windows? If so, what binary URL should I use to install it?
(I previously installed with this version due to reading this, but ran into this error without the DLL load failed message, so I'm wondering if there's a better version I should use.)
Also, I'm aware that Tensorflow says they support Python 3.x, but right now it hasn't been working for me.
You have probably installed Python 32bits, you need the 64bits version

Install Tensorflow pip wheel without internet

I do not have internet access on my linux computer therefore I installed TF from source by following TensorFlow Get Started.
I ran into a few trouble to build trainer_example due to the lack of internet connection hopefully someone from tensorflow helped me through it by creating local repositories for re2, gemmlowp, jpegsrc v9a, libpng and six and modifying WORKSPACE accordingly.
When I try to bazel build pip_package to create the wheel then I think I run into the same problem but :
-the list of repositories is insanely long (to manually install each of them) even if they seem to be mostly part of PolymerElements
Is there an easy workaround ?
If you are happy to create a PIP package without TensorBoard, you should be able to avoid rewriting the Polymer dependencies by removing this line ("//tensorflow/tensorbaord" in the build_pip_package dependencies) from tensorflow/tools/pip_package/BUILD.