Comments (12)
Got it. The deeppavlov library seems to only run with CUDA. so this seems to be an error in the README instead of an error in the app, as it only says the CUDA Library is preferred
from dragonfire.
@Achyut-BK I'm having hard-time to support Ubuntu 20.04 because there are too many dependency issues. I've removed several dependencies and lost some features on 1.2.0
branch. Maybe you can figure out a way to upgrade while preserving the features.
from dragonfire.
@mertyildiran I can try my luck with it. IDK how well I can do though, as like I mentioned, I don't have an Nvidia CUDA supporting GPU. Perhaps we can make another branch for AMD and intel-integrated GPUs that uses OpenCL or installs the CUDA drivers, like mentioned here.I was actually also wondering, can we support more TTS engines, like mycroft does. Mimic2 seems Nice.
from dragonfire.
I dug around a bit more in the source code. I uninstalled the deb package and built the master branch from source. It still didn't compile the realhud library, so I tried manually compiling the realhud library, and got the following error
xxx@xxx-Lubuntu:~/Dragonfire/dragonfire/realhud$ gcc -shared -pthread -fPIC -fwrapv -O2 -fno-strict-aliasing -I/usr/include/python3.8 -o realhud realhud.c `pkg-config --libs gtk+-3.0` `pkg-config --cflags gtk+-3.0` -w
realhud.c: In function ‘screen_changed’:
realhud.c:173:5: error: unknown type name ‘GdkColormap’; did you mean ‘Colormap’?
173 | GdkColormap *colormap = gdk_screen_get_rgba_colormap(screen);
| ^~~~~~~~~~~
| Colormap
realhud.c: In function ‘expose’:
realhud.c:194:42: error: ‘GtkWidget’ {aka ‘struct _GtkWidget’} has no member named ‘window’
194 | cairo_t *cr = gdk_cairo_create(widget->window);
| ^~
So this seems to be the problem with the builiding of Realhud. I checked the source again, but the compile instructions given there didn't work. I fixed it with
`gcc -shared -pthread -fPIC -fwrapv -O2 -fno-strict-aliasing -I/usr/include/python3.8 -o realhud realhud.c `pkg-config --libs gtk+-2.0` `pkg-config --cflags gtk+-2.0` -w`
I renamed it realhud.so and copied it to the root Dragonfire directory.
After installing a couple more deps...
I ran into deeppavlov once again.
I tried installing it, and guess what
deeppavlov 0.12.1 requires pydantic==1.3, but you'll have pydantic 1.6.1 which is incompatible.
thinc 8.0.0a11 requires pydantic<2.0.0,>=1.4.0, but you'll have pydantic 1.3 which is incompatible.
bruh.
But at least I fixed that realhud problem I mentioned.
I fixed this thinc mess with the --use-feature=2020-resolver
. I was finally able to install deeppavlov.
I ran it AAAND
ModuleNotFoundError: No module named 'thinc.v2v'
(✖╭╮✖) 😭
This seems to be a problem with thinc, as I opened the python shell, and tried thinc myself. It imports thinc, but it doesn't import 'thinc.v2v'.
from dragonfire.
Fixed thinc modulenotfound
problem by downgrading it to 7.0.0.
We now suffer from
ImportError: cannot import name 'prefer_gpu' from 'thinc.api' (/home/xxx/.local/lib/python3.8/site-packages/thinc/api.py)
from dragonfire.
We seem to be in dependency hell. Thinc version 8.0.0a11 is required by spacy, but thinc version 7.0.0 is required for someother scripts.
On installing thinc 7.0.0
spacy 3.0.0.dev12 requires preshed<3.1.0,>=3.0.2, but you'll have preshed 2.0.1 which is incompatible.
spacy 3.0.0.dev12 requires srsly<3.0.0,>=2.1.0, but you'll have srsly 1.0.2 which is incompatible.
spacy 3.0.0.dev12 requires thinc==8.0.0a11, but you'll have thinc 7.0.0 which is incompatible.
with Thinc 8 :
ModuleNotFoundError: No module named 'thinc.v2v'
with Thinc 7:
ImportError: cannot import name 'prefer_gpu' from 'thinc.api' (/home/xxx/.local/lib/python3.8/site-packages/thinc/api.py)
I think this is fixable by downgrading spacy. I will figure out the precise versions later
from dragonfire.
Fixed the aforementioned problem
pip install spacy==2.3.2
installs spacy and Thinc in a way that is compatible. YAY.
After a couple problems with pyUserInput and missing spacy models, its FINALLY building the AI. So what I'll try doing is installing dragonfire on a fresh version of Ubuntu, go through installing everything, and then post python3 -m pip list
and the installed packages here.
from dragonfire.
@Achyut-BK I'm sorry for my late reply.
pip3 install -e .
should compile the realhud
Python C extension without any problem. We should replace realhud
with an Electron based or low-level WebKit API based solution in the future. Replacing it with something else is out of scope of this issue. This commit proves that realhud
has no compilation issues on Ubuntu 20.04
I hit that thinc
and spacy
dependency issue in the past and I thought I've fixed it somewhere though I couldn't find the commit.
It's great that you've overcome all the dependency issues. I'm looking forward to receive your pull request. Remember that it should pass the GitHub workflow in here. Feel free to modify and/or remove the problematic tests located in here.
from dragonfire.
@mertyildiran That sounds great. However, it seems to have a problem with tensorflow 2 (AttributeError: module 'tensorflow' has no attribute 'orthogonal_initializer'
). Tensorflow 1 may work, but there are no precompiled wheels for TF 1 for python3.8. I don't have the processing power to build the wheels myself. Could you help?
from dragonfire.
@Achyut-BK yeah they drop support for TensorFlow 1.x as of Python 3.8. Therefore we should instead migrate to TensorFlow 2 and replace or remove the models broken in TensorFlow 2.
An alternative approach would be making this project rely on pyenv
instead of system packages and use an older Python version like 3.6 or 3.7. But I'm not sure how we can do that. Like; it should install pyenv
if it does not exists on the system then it should pyenv install 3.6.10
and then define an environment pyenv virtualenv 3.6.10 dragonfire-env-3.6.10
and finally activate it and use it pyenv activate dragonfire-env-3.6.10
. But again I'm not sure how can we achieve this automatically.
from dragonfire.
@mertyildiran That would actually be good, as currently, when it is using my systems pip, its basically locked all my ML libraries at one version. Not much of a problem for me, but I'm pretty sure this can get annoying if you use these frameworks regularly. Also, if we succeed with pyenv, we could probably try for packaging it as a snap or appimage for anyone who doesn't want to get down and dirty with the source code. Also, we could maybe update the code itself too. I don't know Coding AI, but I can help out with pyenv.
from dragonfire.
@Achyut-BK it's good to hear that you can help. Distributing with snap, flatpak and appimage is also in the plan. I don't have enough time to focus on this repository right now. If you can fix these dependency issues, I would be so grateful. I'm ready to answer all kinds of questions of yours and help to you using this discussion chain.
from dragonfire.
Related Issues (20)
- deeppavlov 0.8.0 not supported HOT 3
- charger dragonfire hors installation HOT 6
- Can't install on Ubuntu 20.04 HOT 2
- Compatible OS! HOT 8
- This Dosen't Work HOT 3
- Try docker version not go
- Don't installing
- Support for modern TTS models for various languages
- dragonfire windows
- Dragonfire command not found HOT 3
- ModuleNotFound HOT 1
- Install error ubuntu 21.10 HOT 4
- [Feature Request] Upgrade Speech-to-Text to Coqui STT
- Please create a snap package
- I can t initialize Dragonfire HOT 2
- Dragonfire not Starting
- problem with starting dragonfire 1.1.1
- Could'nt Install it on Ubuntu 20.04
- setup.py
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dragonfire.