Open uhapppy opened 3 years ago
Having same issue
Even manually downloading the weights gave me a compile error
Same, I'm debugging it right now but I can't seem to find the root of the error
Similar error I'm getting with anime faces:
Preparing style...
Downloading anime faces weights (This may take a while)...
Download complete
---------------------------------------------------------------------------
UnpicklingError Traceback (most recent call last)
<ipython-input-4-447c2cb44ba3> in <module>()
9 resolution = 360,
10 start = 30,
---> 11 duration = 45)
12
13 files.download("chemical_love.mp4")
1 frames
/usr/local/lib/python3.7/dist-packages/lucidsonicdreams/main.py in hallucinate(self, file_name, output_audio, fps, resolution, start, duration, save_frames, batch_size, speed_fpm, pulse_percussive, pulse_harmonic, pulse_react, motion_percussive, motion_harmonic, motion_react, motion_randomness, truncation, classes, dominant_classes_first, class_pitch_react, class_smooth_seconds, class_complexity, class_shuffle_seconds, class_shuffle_strength, contrast_strength, contrast_percussive, flash_strength, flash_percussive, custom_effects)
634
635 if not callable(self.style):
--> 636 self.stylegan_init()
637
638 self.style_exists = True
/usr/local/lib/python3.7/dist-packages/lucidsonicdreams/main.py in stylegan_init(self)
124 # Load weights
125 with open(weights_file, 'rb') as f:
--> 126 self.Gs = pickle.load(f)[2]
127
128 # Auto assign num_possible_classes attribute
UnpicklingError: invalid load key, '\xfd'.
i was only able to use the asbtract photo style every other style give me this error
Downloading my little pony weights (This may take a while)... Download complete Traceback (most recent call last): File "c:/Users/JF/Desktop/music/music.py", line 10, in <module> L.hallucinate(file_name = 'hills_pony.mp4') File "C:\Users\JF\AppData\Local\Programs\Python\Python37\lib\site-packages\lucidsonicdreams\main.py", line 636, in hallucinate self.stylegan_init() File "C:\Users\JF\AppData\Local\Programs\Python\Python37\lib\site-packages\lucidsonicdreams\main.py", line 126, in stylegan_init self.Gs = pickle.load(f)[2] File "C:\Users\JF\AppData\Local\Programs\Python\Python37\lib\site-packages\dnnlib\tflib\network.py", line 279, in __setstate__ assert state["version"] in [2, 3] AssertionError
I think your issue comes from here: https://github.com/mikaelalafriz/lucid-sonic-dreams/issues/3#issuecomment-799151100
Lucid Sonic Dreams uses the stylegan2 repo which is downloaded from this repo's main.py, and the dnnlib folder is different from the one you used in your comment above, thus making the error.
Concerning the use of other styles, I think the main issue comes from the OS. Stylegan2 is currently supported for tensorflow 1.15 on Linux, but not on Windows: https://github.com/NVlabs/stylegan2#requirements Lucid Sonic Dreams uses tensorflow 1.15.
The wikiart style works well on Linux for me.
But on Windows, I've got an error with Setting up TensorFlow plugin "fused_bias_act.cu"
and it seems to be related to the C++ headers mentioned in my previous link.
I hope it helps.
The error is related to the pickle
protocol version in your Python
installation. I had version 5
and, since the assertion in line 279
of dnnlib/tflib/network.py
checks for versions 2
, 3
and 4
, I simply added 5
in there and I was able to use custom style weights.
Hope this helps!
@uhapppy I think you might be looking at the wrong file. in your original reply:
i was only able to use the asbtract photo style every other style give me this error
Downloading my little pony weights (This may take a while)... Download complete Traceback (most recent call last): File "c:/Users/JF/Desktop/music/music.py", line 10, in <module> L.hallucinate(file_name = 'hills_pony.mp4') File "C:\Users\JF\AppData\Local\Programs\Python\Python37\lib\site-packages\lucidsonicdreams\main.py", line 636, in hallucinate self.stylegan_init() File "C:\Users\JF\AppData\Local\Programs\Python\Python37\lib\site-packages\lucidsonicdreams\main.py", line 126, in stylegan_init self.Gs = pickle.load(f)[2] File "C:\Users\JF\AppData\Local\Programs\Python\Python37\lib\site-packages\dnnlib\tflib\network.py", line 279, in __setstate__ assert state["version"] in [2, 3] AssertionError
the error message indicates line 279 in the network.py file (File "C:\Users\JF\AppData\Local\Programs\Python\Python37\lib\site-packages\dnnlib\tflib\network.py", line 279, in __setstate__ assert state["version"] in [2, 3] AssertionError
). You need to change that line to assert state["version"] in [2, 3, 4, 5]
(depending on your pickle
protocol version, I added both 4 and 5 here since your version of network.py seems to only have 2 and 3).
actually i check and the original function is ` def setstate(self, state: dict) -> None: """Pickle import."""
# Execute custom import handlers.
for handler in _import_handlers:
state = handler(state)
# Get basic fields.
assert state["version"] in [2, 3, 4, 5]
name = state["name"]
static_kwargs = state["static_kwargs"]
build_module_src = state["build_module_src"]
build_func_name = state["build_func_name"]`
@uhapppy okay, so if the error is still AssertionError
, it means that your state['version']
value is not in array [2, 3, 4, 5]
. You can insert print(state["version"])
right before the assertion to see which version you have and then insert that value to the array in the next line. this way, you are guaranteed to get rid of the AssertionError
, which is the original error in this issue. In my case, it did not break anything and I was able to use custom weights.
@uhapppy can you please share the error message you are getting right now?
Hmm that didnt fix for me either Im geting this error
Traceback (most recent call last):
File "lucid.py", line 18, in
@dogadikbayir i manage to figure it out i add version 5 to the assert state(seem like the network.py that i open file was not the right one ) but i get still get an error and now it is
File "c:/Users/JF/Desktop/music/music.py", line 10, in <module> L.hallucinate(file_name = 'hours2.mp4') File "C:\Users\JF\AppData\Local\Programs\Python\Python37\lib\site-packages\lucidsonicdreams\main.py", line 636, in hallucinate self.stylegan_init() File "C:\Users\JF\AppData\Local\Programs\Python\Python37\lib\site-packages\lucidsonicdreams\main.py", line 126, in stylegan_init self.Gs = pickle.load(f)[2] File "C:\Users\JF\AppData\Local\Programs\Python\Python37\lib\site-packages\dnnlib\tflib\network.py", line 291, in __setstate__ exec(self._build_module_src, module.__dict__) # pylint: disable=exec-used File "<string>", line 13, in <module> ModuleNotFoundError: No module named 'dnnlib.tflib.ops'
@masterofshapes I could not find the assert self._input_templates is None
line in my version of network.py
, so I think we are using different versions of dnnlib
. I used the dnnlib
in this repository. You could try to clone the stylegan2-ada
repo in the link into C:\Python37\lib\site-packages/lucidsonicdreams/stylegan2
and you could replace C:\Python37\lib\site-packages\dnnlib
with the dnnlib
folder inside the cloned repo.
@uhapppy I think your problem could also be related to the dnnlib
version you are using, you could try the same procedure I've described above.
If this does not work out for you guys, I think it could be a Windows related bug, I am using Linux.
Hope this helps!
@dogadikbayir i did everything you said it get me farter this time the code work until it reach the hallucinating part now i get this error
Traceback (most recent call last): File "c:/Users/JF/Desktop/music/music.py", line 10, in <module> L.hallucinate(file_name = 'hours2.mp4') File "C:\Users\JF\AppData\Local\Programs\Python\Python37\lib\site-packages\lucidsonicdreams\main.py", line 680, in hallucinate self.generate_frames() File "C:\Users\JF\AppData\Local\Programs\Python\Python37\lib\site-packages\lucidsonicdreams\main.py", line 525, in generate_frames np.tile(class_batch, (batch_size, 1))) File "C:\Users\JF\AppData\Local\Programs\Python\Python37\lib\site-packages\dnnlib\tflib\network.py", line 604, in run out_gpu = net_gpu.get_output_for(*in_gpu, return_as_list=True, **dynamic_kwargs) File "C:\Users\JF\AppData\Local\Programs\Python\Python37\lib\site-packages\dnnlib\tflib\network.py", line 350, in get_output_for self._get_vars() # ensure that all variables have been created File "C:\Users\JF\AppData\Local\Programs\Python\Python37\lib\site-packages\dnnlib\tflib\network.py", line 297, in _get_vars self._vars = OrderedDict(self._get_own_vars()) File "C:\Users\JF\AppData\Local\Programs\Python\Python37\lib\site-packages\dnnlib\tflib\network.py", line 286, in _get_own_vars self._init_graph() File "C:\Users\JF\AppData\Local\Programs\Python\Python37\lib\site-packages\dnnlib\tflib\network.py", line 126, in _init_graph assert self._input_templates is None AssertionError
@masterofshapes @uhapppy my bad, I found the assertion, for self._input_templates
in my version too. in this case, I need to reproduce the problem on my own machine to help you guys out further. however, the new error is also an AssertionError
and it is caused because the self._input_templates
property of the class is not None
at the time of the assertion. In my case it is None
so I am not getting the error. you could trace the value of self._input_templates
to find the place where it is being set to a value other than None
.
@dogadikbayir good tanks you very much for your time let us know if you find something
FYI I had the same AssertionError which happened because I had stylegan2-ada
folder in the same location where I installed lucid sonic dreams.
I run pip uninstall lucidsonicdreams
Created a new folder
Run pip install lucidsonicdreams
and it worked with custom models.
i was only able to use the asbtract photo style every other style give me this error
Downloading my little pony weights (This may take a while)... Download complete Traceback (most recent call last): File "c:/Users/JF/Desktop/music/music.py", line 10, in <module> L.hallucinate(file_name = 'hills_pony.mp4') File "C:\Users\JF\AppData\Local\Programs\Python\Python37\lib\site-packages\lucidsonicdreams\main.py", line 636, in hallucinate self.stylegan_init() File "C:\Users\JF\AppData\Local\Programs\Python\Python37\lib\site-packages\lucidsonicdreams\main.py", line 126, in stylegan_init self.Gs = pickle.load(f)[2] File "C:\Users\JF\AppData\Local\Programs\Python\Python37\lib\site-packages\dnnlib\tflib\network.py", line 279, in __setstate__ assert state["version"] in [2, 3] AssertionError