• 0 Posts
  • 7 Comments
Joined 1 year ago
cake
Cake day: June 15th, 2023

help-circle
  • Yeah there’s a good chance you’re right. Maybe something to do with memory management as well.

    Long term I’ll probably end up switching back to Darktable. I used it before and honestly it is quite good, but I currently have a free license for CC from my university and the AI denoise features in LR are pretty nice compared to the classical profiled denoise from Darktable. It does also help that the drivers for my SD card reader are less finicky on Windows so it’s easier for me to quickly copy over images from my camera on there instead of Linux. Hopefully that also gets better over time!



  • Fair enough! I think it’s more common for games to do that, but sometimes I had trouble with software on Windows that used virtualization elements themself. I probably just didn’t properly configure HyperV settings, but I know nested virtualization can be tricky.

    For me it’s also because I’m on a laptop, and my Windows VM relies on me passing through an external GPU over TB3 but my laptops’ dedicated GPU has no connection to a display, so it would be tricky to try and do GPU passthrough on the VM if I were on the go. I like being able to boot Windows on the go to edit photos in Lightroom, for example, but otherwise I’d prefer to run the Linux host and use the Windows VM only as needed.


  • I’m a fan of dual booting AND using a passthrough VM. It’s easiest to set up if your machine has two NVMe slots and you put each OS on its own drive. This way you can pass the Windows NVMe through to the VM directly.

    The advantage of this configuration is that you get the convenience of not needing to reboot to run some Windows specific software, but if you need to run software that doesn’t play nice with virtualization (maybe a program has too large a performance hit with virtualization, or software you want to run doesn’t support virtualized systems, like some anticheat-enabled games), you can always reboot to your same Windows installation directly.


  • GPU and overall firmware support is always better on x86 systems, so makes sense that you switched to that for your application. Performance is also usually better if you don’t explicitly need low power. In my use case I use the Orange Pi 5 Plus for running an astrophotography rig, so I needed something that was low power, could run Linux easily, had USB 3, reasonable single core performance, and preferably had the possibility of an upgradable A key WiFi card and a full speed NVMe E key slot for storage (preferably PCIe 3.0x4 or better). Having hardware serial ports was a plus too. x86 boxes would’ve been preferable but a lot of the cheaper stuff are older Intel mini PCs which have pretty poor battery life, and the newer power efficient stuff (N100 based) is more expensive and the cheaper ones I found tended to have onboard soldered WiFi cards unfortunately. Accordingly the Orange Pi 5 Plus ended up being my cheapest option that ticked all my boxes. If only software support was as good as x86!

    Interesting to hear about the NPU. I work in CV and I’ve wondered how usable the NPU was. How did you integrate deep learning models with it? I presume there’s some conversion from runtime frameworks like ONNX to the NPU’s toolkit, but I’d love to learn more.

    I’m also aware that Collabora has gotten the NPU drivers upstreamed, but I don’t know how NPUs are traditionally interfaced with on Linux.



  • I work in an ML-adjacent field (CV) and I thought I’d add that AI and ML aren’t quite the same thing. You can have non-learning based methods that fall under the field of AI - for instance, tree search methods can be pretty effective algorithms to define an agent for relatively simple games like checkers, and they don’t require any learning whatsoever.

    Normally, we say Deep Learning (the subfield of ML that relates to deep neural networks, including LLMs) is a subset of Machine Learning, which in turn is a subset of AI.

    Like others have mentioned, AI is just a poorly defined term unfortunately, largely because intelligence isn’t a well defined term either. In my undergrad we defined an AI system as a programmed system that has the capacity to do tasks that are considered to require intelligence. Obviously, this definition gets flaky since not everyone agrees on what tasks would be considered to require intelligence. This also has the problem where when the field solves a problem, people (including those in the field) tend to think “well, if we could solve it, surely it couldn’t have really required intelligence” and then move the goal posts. We’ve seen that already with games like Chess and Go, as well as CV tasks like image recognition and object detection at super-human accuracy.