-
Notifications
You must be signed in to change notification settings - Fork 905
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP/Broken]: Upgrade @tensorflow/tfjs versions to 3.x #1383
base: main
Are you sure you want to change the base?
Conversation
# Conflicts: # package-lock.json # package.json
…ion` -- executes without error but cannot find face.
…nly required when using @tensorflow/tfjs-core by itself)
@lindapaiste , not to pressure you but is there any progress on this? Here a npm audit reportd3-color <3.1.0 node-fetch <=2.6.6 28 vulnerabilities (18 low, 10 high) To address issues that do not require attention, run: |
@shiffman The models which I specified as needing work are the ones that your team has been working on re-implementing. My recollection is that all of the rest seemed fine. I wonder if it makes sense to use the new repo to work out the kinks, and then once you've got those models working to copy that code back over to this repo. Then bump the dependencies and delete the 1 or 2 broken models which we didn't update. It seems like a total pain to have to copy everything over to the new repo, and makes it harder to apply changes from current PRs. This was for TFJS 3.x and they are up to 4.x now but they say that's a non-breaking version change. |
Thank you for the info @lindapaiste! I understand, it's a tricky tradeoff. I think we have changed so much about the approach to which the library is developed and maintained that keeping with the new repo as a "fresh start" is preferable. This repo would get archived and "frozen in time" and we would point back towards and highlight issues, discussion, and code contributions that are relevant. We have a meeting at NYU tomorrow and I will bring this up for discussion! |
Extends #1379
Related issue: #1337
I have installed version
^3.16.0
of all@tensorflow/tfjs
packages. But a lot of things broke in the process. These are some of the known errors which need to be addressed:SoundClassifier
The tfjs
speechcommands
model expects tensorflow version^1.1.2
. Attempting to run on 3.x causes errors regarding undefined Node.js variablespath
andprocess
. This is the worst one as it actually breaks the whole build. I had to temporarily disable the model....But then I re-enabled and I couldn't reproduce the error 🤷
BodyPix
Expects tensorflow version
~1.2.1
. There is a newer version ofbodypix
available, but the API is very different.Error stack
Facemesh
facemesh
expects tensorflow version^2.1.0
and its internal dependencyblazeface
expects1.5.2
. There is a newer version available under the package name@tensorflow-models/face-landmarks-detection
.I saw an error once, and then when I refreshed the page everything was fine! 🤷
Error stack
FaceApi
face-api.js
depends on tensorflow version1.7.0
(not a range, that exact version). I don't know what the future of this package is. Maybe we can implement it using a different model behind the scenes. Maybe we don't need it at all since we haveFacemesh
. I believe there are forks offace-api.js
out there which have updated dependencies.Error stack
SketchRNN
@magenta/sketch
expects tensorflow version^1.0.2
. We have a few options here:SketchRNN
andCharRNN
into a genericLSTMmodel
orRNNmodel
. This would be cool and might make it easier to add other LSTM models in the future.Error stack
MobileNet
/ImageClassifier
The code runs without error but the prediction is incorrect.
Pix2Pix
The initial drawing in the example runs correctly. However I get an error when drawing on the canvas and clicking "Transfer".
It seems most likely due to some tensor getting disposed too early.
Error stack
StyleTransfer
I wonder if tensorflow changed the default
dtype
for certain tensors, based on the error that I get.Error stack
There might be others too, but this is plenty for me to work on!