serengil/tensorflow-101

SystemError: unknown opcode while running model_from_json(open("facenet_model.json", "r").read())

cedoard opened this issue · 9 comments

Hi Sefik,

first of all, thanks for your work.
Unfortunately, I get this error when I try to run your model, in particular command "model from jason":

~/miniconda3/lib/python3.6/site-packages/keras/layers/core.py in scaling(x, scale)
24 from ..utils.generic_utils import has_arg
25 from ..utils import conv_utils
---> 26 from ..legacy import interfaces
27
28

SystemError: unknown opcode

I have python 3.6, tensorflow 1.12.0 and keras 2.2.4.

What could be the issue?

P.S. I tried to leave a comment on the related post on your site but I keep getting mistaken for a Bot.

This is a common issue. Incompatible versions causes this. Please modify your environment as same as mine. My environment information is dumped below. Please inform me when you try this.

(tensorflow) C:\Users\IS96273>python --version
Python 3.5.5 :: Anaconda, Inc.

(tensorflow) C:\Users\IS96273>python
Python 3.5.5 |Anaconda, Inc.| (default, Apr 7 2018, 04:52:34) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

import tensorflow as tf
print(tf.version)
1.9.0
import keras
Using TensorFlow backend.
print(keras.version)
2.2.0

@serengil Could you kindly share your .py file for the facenet model? This way we can adapt it for python 3.6.

Notebook: https://github.com/serengil/tensorflow-101/blob/master/python/facenet.ipynb
Network structure: https://github.com/serengil/tensorflow-101/blob/master/model/facenet_model.json
Pre-trained weights: https://drive.google.com/file/d/1971Xk5RwedbudGgTIrGAL4F7Aifu7id1/view?usp=sharing

Additionally, the following environment will work.

C:>python --version
Python 3.6.4 :: Anaconda, Inc.

(tensorflow) C:>python
Python 3.5.5 |Anaconda, Inc.| (default, Apr 7 2018, 04:52:34) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

import tensorflow
print(tensorflow.version)
1.9.0
import keras
Using TensorFlow backend.
print(keras.version)
2.2.0

@serengil thank you for your response, but I might have mislead you. I meant to ask for the actual facenet model construction in python code because I like others couldn’t load the model json with python 3.6. One workaround is obviously downgrade my environment to 3.5 to match yours.

But If you could share the original python code then it should be python version agnostic and might help your effort in this repo to continue helping people far into the future, not being constrained by the python version.

If I understand correctly the facenet model is derived from https://github.com/davidsandberg/facenet. If we try to compile that model into json will it work with the weights you shared above? If so do you know which version of the model I should use to match the weights given David published a couple models?

@alphabt sorry for the misunderstanding.

I pushed the reference model here: https://github.com/serengil/tensorflow-101/blob/master/model/inception_resnet_v1.py

All you need is illustrated below

from inception_resnet_v1 import *
model = InceptionResNetV1()

I hope this helps you. Please respond if it works...

@serengil Yes that's what I was looking for and it works with python 3.6 now. Thank you very much!

@alphabt , Hi, can you share your .json file for python3.6 ? I meet the same problem with you. But I can not resolve it. Thank you very much!

Hello, just comment the line that import model from .json and put

from inception_resnet_v1 import *
model = InceptionResNetV1()

image

hello everyone,
Thank you for your help.
@serengil can you please help me with find matching percentage of 2 image.
@heitorrapela
@ma7555
@alphabt