Comments (14)
Hi,
I had problems with pip installed version of quiver, so I installed from git. Its working fine and I have all the latest updates.
I pinpointed the problem. It's because of my data format. Quiver requires input data to have (nrows, ncols, nchannels), however, my data uses (nchannels, nrows, ncols). The first format is called 'tf' format and the second format is called 'th' format. My model uses 'th' format. Similarly, the conv and max pooling layers also use 'th' format.
Somehow quiver doesn't handle layers which use 'th' format. I raised a new issue on this. Hope someone can help.
Yeah the vgg16 one works. But mine doesn't.
from quiver.
Some updates about this issue:
I tried to use my own model as described, and my model is Sequential. The models used in the tutorials are Functional API and maybe (I am not sure about this) quiver is developed to work only with Functional API models. ASAP I will try to make a model as Functional API, and use it with quiver.
To solve my problem, I used VGG16 from Keras and it worked just fine, the only problem was that I had to train the network from scratch.
from quiver.
Hello @jorgimello, I have similar issue. I am using custom network architecture built using functional API. When I launch quiver server, model architecture and images shows up, but when I select a layer, nothing shows up. I am getting error, 'No data to display'. How did you solve this issue?
from quiver.
Hello @sudheerExperiments,
have you selected a different layer? Because the first layers sometimes won't show anything, and it shows the message 'No data to display'. But the following layers maybe show something. Try it
from quiver.
I tried for all layers. Same problem with other layers too..
Update: Checked again, issue still exists.
Is there any specific data format for quiver @jorgimello
from quiver.
Well, I gotta try some new things, because I don't know the cause of your problem. But can you check your browser's console after running the application? See if any error is shown.
What you mean by data format? You mean the images to test?
-
One thing you could do to make sure that the library is running correctly is using VGG16 directly, train just for one epoch and save the model. If it works, maybe quiver cannot work with your own built model.
-
Have you installed quiver via
pip install quiver_engine
or viapip install git+git://github.com/keplr-io/quiver.git
? The git's version is more updated and I am using it. If I recall correctly, the pip's version does not provide theclasses
parameter (I am not using the imagenet dataset, I am actually using a face's expression dataset with 8 classes).
from quiver.
Hi,
I am having the same issue as @jorgimello, the images show up, but the model architecture doesn´t. Instead the error TypeError: e.config.map is not a function
is displayed in the google chrome console. I am using a custom sequential model, but i don´t think that´s the issue. Has anyone found a solution to this problem so far?
from quiver.
Well, I haven't. My solution was to use the models provided by Keras.
from quiver.
I come a same problem. really hope fix soooooooooooooooooon ... :)
from quiver.
Some updates about this issue:
I tried to use my own model as described, and my model is Sequential. The models used in the tutorials are Functional API and maybe (I am not sure about this) quiver is developed to work only with Functional API models. ASAP I will try to make a model as Functional API, and use it with quiver.To solve my problem, I used VGG16 from Keras and it worked just fine, the only problem was that I had to train the network from scratch.
i have the problem too
i have been able to take my sequential model and translate it to functional by simply replicating it, but i still get the same console error.
I think the problem might have to do with what sudheerExperiments says about the channels
from quiver.
I found out that the problem comes from a javascript function try to use map
on the wrong type.
I use VGG16 model from Keras 2.9. The server response to "/model" request is
{
backend: "tensorflow",
class_name: "Functional",
config: {
input_layers: [["input_1", 0, 0]]
layers: [{class_name: "InputLayer",…}, {class_name: "Conv2D",…}, {class_name: "Conv2D",…},…]
name: "vgg16"
},
output_layers: [["block5_pool", 0, 0]]
}
Because class_name
is not "Model", the function computeCytoscapeGraph
(quiverboard/src/ModelGraph/util.js) invoke getSequentialCytoscapeGraph
instead of getModelCytoscapeGraph
. The former function tries to use map
on "config" while it is an dictionary, hence the error.
from quiver.
Because
class_name
is not "Model", the functioncomputeCytoscapeGraph
(quiverboard/src/ModelGraph/util.js) invokegetSequentialCytoscapeGraph
instead ofgetModelCytoscapeGraph
. The former function tries to usemap
on "config" while it is an dictionary, hence the error.
That's a great find!
I had given up on this project and implemented a manual visualization tool using fchollet's work, but getting this to work would be great, both as a personal battle and because it's prettier.
I had removed my previous version of quiver and reinstalled just in hope we can make it work again. This led me to find out that Quiver is not currently compatible with python3.10, as I get the following error stack:
python3.10 pip install quiver_engine error
ERROR: Command errored out with exit status 1:
command: /home/ghylander/miniconda3/envs/CH/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-dxqfv_2r/quiver-engine_efdd254386bc4d63b679aaef339b2a90/setup.py'"'"'; __file__='"'"'/tmp/pip-install-dxqfv_2r/quiver-engine_efdd254386bc4d63b679aaef339b2a90/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-ehx0pyab
cwd: /tmp/pip-install-dxqfv_2r/quiver-engine_efdd254386bc4d63b679aaef339b2a90/
Complete output (1 lines):
error in quiver_engine setup command: "values of 'package_data' dict" must be a list of strings (got 'quiverboard/dist/*')
I don't have experience with js, html or anything web-related. Wave you managed some progress?
I tried modifying the 'util.js' under quiverboard>src>components>ModelGraph
:
export function computeCytoscapeGraph(kerasGraph, prefix) {
return kerasGraph.class_name === 'Functional'
? getModelCytoscapeGraph(kerasGraph, prefix)
: getSequentialCytoscapeGraph(kerasGraph, prefix);
}
and
function isNodeSubgraph(layer) {
return ['Sequential', 'Functional'].indexOf(layer.class_name) !== -1;
}
But it's not working. I don't know if quiver is using those files though. I had to install quiver using pip, since when I tried to download the repo and build from source, I got many errors from npm. Installing quiver from pip resulted in a quiver_engine folder missing the quiverboard folder, so I copied over the quiveboard folder from the repo to the quiver_engine python site-packages folder.
from quiver.
Managed to "solve" the Model != Functional issue
I edited the compiled js file (inmy case, it was called "app.14b8092d6ea379715007.js"
Had to change it in 2 spots:
- In line 8954:
function a(e, t) {
return "Functional" === e.class_name ? o(e, t) : i(e, t);
}
- In line 9049:
function c(e) {
return ["Sequential", "Functional"].indexOf(e.class_name) !== -1;
}
This seems to load the model correctly and apply the map function to it, but results in countless new errors. These errors I assume are coming from unhandled layers. Screenshot of some of the errors:
from quiver.
I edited the compiled js file (inmy case, it was called "app.14b8092d6ea379715007.js"
If you are building from source, please change the code in quiverboard/src/ModelGraph/util.js
and then use the command npm deploy:prod
while in quiverboard
directory. Ignore any error with UglifyJs for now. The command will create a new .js file in quiverboard/dist
, and your code change will be picked up by the server.
I tried to use my own model as described, and my model is Sequential.
Not really relevant to the topic but I wonder if your Sequential model has problem with inbound_nodes
. My browser shows this error Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'length')
for my VGG16 model because it has no property inbound_nodes
.
from quiver.
Related Issues (20)
- Unable to load image HOT 2
- classes parameter is not valid while I run 'server.launch(...)" HOT 1
- install quiver cause install tensorflow(not gpu) cascade
- InceptionResNetV2 and InceptionV3 get error But VGG16 is good HOT 2
- quiver tried to install other version of tensorflow HOT 2
- [bug] inconsistent preprocess_input HOT 2
- Quiver_Engine installation in windows 10 HOT 1
- wrong number of feature maps? HOT 3
- TypeError: can't pickle _thread.RLock objects HOT 11
- The visualization of 3D image HOT 1
- list index out of range HOT 1
- when I import server, there comes the error, no module named 'gevent.wsgi' HOT 4
- Quiver fails to load data when layers use 'channels_first' config
- Changing of the interface (feature request)
- Wrote an article and cited your package
- ImportError: cannot import name 'imsave' HOT 2
- Works with multi label tabular data?
- RuntimeError "The layer has never been called and thus has no defined input shape." HOT 4
- MobilenetV3 support?
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 quiver.