shunsukesaito / PIFu

This repository contains the code for the paper "PIFu: Pixel-Aligned Implicit Function for High-Resolution Clothed Human Digitization"

Home Page:https://shunsukesaito.github.io/PIFu/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TypeError: self.scene_i cannot be converted to a Python object for pickling

Yxs-160 opened this issue · comments

commented

greate work!
but i met a question when i trained data. could you hlep me? @shunsukesaito thanks

(base) I:\PIFu>python -m apps.train_shape --dataroot I:\PIFu\training_data --random_flip --random_scale --random_trans
I:\PIFu\lib\data\TrainDataset.py:102: UserWarning: loadtxt: Empty input file: "I:\PIFu\training_data\val.txt"
var_subjects = np.loadtxt(os.path.join(self.root, 'val.txt'), dtype=str)
train data size: 180
test data size: 360
initialize network with normal
Using Network: hgpifu
Name: example | Epoch: 0 | 0/180 | Err: 0.247490 | LR: 0.001000 | Sigma: 5.00 | dataT: 1.74325 | netT: 1.43968 | ETA: 09:29
Name: example | Epoch: 0 | 10/180 | Err: 0.282368 | LR: 0.001000 | Sigma: 5.00 | dataT: 0.00100 | netT: 0.32667 | ETA: 01:40
Name: example | Epoch: 0 | 20/180 | Err: 0.261466 | LR: 0.001000 | Sigma: 5.00 | dataT: 0.00100 | netT: 0.31519 | ETA: 01:15
Name: example | Epoch: 0 | 30/180 | Err: 0.256328 | LR: 0.001000 | Sigma: 5.00 | dataT: 0.00200 | netT: 0.34412 | ETA: 01:04
Name: example | Epoch: 0 | 40/180 | Err: 0.246975 | LR: 0.001000 | Sigma: 5.00 | dataT: 0.00099 | netT: 0.29920 | ETA: 00:55
Name: example | Epoch: 0 | 50/180 | Err: 0.246816 | LR: 0.001000 | Sigma: 5.00 | dataT: 0.00200 | netT: 0.35509 | ETA: 00:50
Name: example | Epoch: 0 | 60/180 | Err: 0.214378 | LR: 0.001000 | Sigma: 5.00 | dataT: 0.00100 | netT: 0.31334 | ETA: 00:45
Name: example | Epoch: 0 | 70/180 | Err: 0.212197 | LR: 0.001000 | Sigma: 5.00 | dataT: 0.00100 | netT: 0.31232 | ETA: 00:40
Name: example | Epoch: 0 | 80/180 | Err: 0.201895 | LR: 0.001000 | Sigma: 5.00 | dataT: 0.00199 | netT: 0.38407 | ETA: 00:36
Name: example | Epoch: 0 | 90/180 | Err: 0.193538 | LR: 0.001000 | Sigma: 5.00 | dataT: 0.00088 | netT: 0.29990 | ETA: 00:32
Name: example | Epoch: 0 | 100/180 | Err: 0.180991 | LR: 0.001000 | Sigma: 5.00 | dataT: 0.00100 | netT: 0.32416 | ETA: 00:28
Name: example | Epoch: 0 | 110/180 | Err: 0.197863 | LR: 0.001000 | Sigma: 5.00 | dataT: 0.00096 | netT: 0.31516 | ETA: 00:24
Name: example | Epoch: 0 | 120/180 | Err: 0.201827 | LR: 0.001000 | Sigma: 5.00 | dataT: 0.00199 | netT: 0.31116 | ETA: 00:20
Name: example | Epoch: 0 | 130/180 | Err: 0.196122 | LR: 0.001000 | Sigma: 5.00 | dataT: 0.00099 | netT: 0.31522 | ETA: 00:17
Name: example | Epoch: 0 | 140/180 | Err: 0.189962 | LR: 0.001000 | Sigma: 5.00 | dataT: 0.00100 | netT: 0.34164 | ETA: 00:13
Name: example | Epoch: 0 | 150/180 | Err: 0.177161 | LR: 0.001000 | Sigma: 5.00 | dataT: 0.00099 | netT: 0.29692 | ETA: 00:10
Name: example | Epoch: 0 | 160/180 | Err: 0.187646 | LR: 0.001000 | Sigma: 5.00 | dataT: 0.00099 | netT: 0.29337 | ETA: 00:06
Name: example | Epoch: 0 | 170/180 | Err: 0.190977 | LR: 0.001000 | Sigma: 5.00 | dataT: 0.00099 | netT: 0.31621 | ETA: 00:03
calc error (test) ...
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:16<00:00, 5.97it/s]
eval test MSE: 0.187251 IOU: 0.617025 prec: 0.641639 recall: 0.941304
calc error (train) ...
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:16<00:00, 6.02it/s]
eval train MSE: 0.187251 IOU: 0.617025 prec: 0.641639 recall: 0.941304
generate mesh (test) ...
0%| | 0/1 [00:00<?, ?it/s]I
:\PIFu\lib\mesh_util.py:45: FutureWarning: marching_cubes_lewiner is deprecated in favor of marching_cubes. marching_cubes_lewiner will be removed in versi
on 0.19
verts, faces, normals, values = measure.marching_cubes_lewiner(sdf, 0.5)
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:07<00:00, 7.77s/it]
generate mesh (train) ...
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:07<00:00, 7.77s/it]
Traceback (most recent call last):
File "G:\Anaconda\lib\runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "G:\Anaconda\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "I:\PIFu\apps\train_shape.py", line 183, in
train(opt)
File "I:\PIFu\apps\train_shape.py", line 90, in train
Traceback (most recent call last):
File "", line 1, in
for train_idx, train_data in enumerate(train_data_loader):
File "G:\Anaconda\lib\site-packages\torch\utils\data\dataloader.py", line 355, in iter
File "G:\Anaconda\lib\multiprocessing\spawn.py", line 116, in spawn_main
return self._get_iterator()
File "G:\Anaconda\lib\site-packages\torch\utils\data\dataloader.py", line 301, in _get_iterator
exitcode = _main(fd, parent_sentinel)
File "G:\Anaconda\lib\multiprocessing\spawn.py", line 126, in _main
return _MultiProcessingDataLoaderIter(self)
File "G:\Anaconda\lib\site-packages\torch\utils\data\dataloader.py", line 914, in init
self = reduction.pickle.load(from_parent)
EOFError: Ran out of input
w.start()
File "G:\Anaconda\lib\multiprocessing\process.py", line 121, in start
self._popen = self._Popen(self)
File "G:\Anaconda\lib\multiprocessing\context.py", line 224, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "G:\Anaconda\lib\multiprocessing\context.py", line 327, in _Popen
return Popen(process_obj)
File "G:\Anaconda\lib\multiprocessing\popen_spawn_win32.py", line 93, in init
reduction.dump(process_obj, to_child)
File "G:\Anaconda\lib\multiprocessing\reduction.py", line 60, in dump
ForkingPickler(file, protocol).dump(obj)
File "stringsource", line 2, in pyembree.rtcore_scene.EmbreeScene.reduce_cython
TypeError: self.scene_i cannot be converted to a Python object for pickling

I've been having the same error. Tried reinstalling every module twice and nothing worked. BTW I am using windows, so I don't know if you can resolve this by using linux.