Comments (14)
我已经解决了这个问题,原因是生成的obj数据存在问题。
另外还有个小问题,就是在运行datagen_maps.py时,速度会越来越慢,刚开始时有100+的速度,后面就变成了个位数,请问这个问题是跟硬件有关系吗?如果是的话这个跟什么硬件有关?谢谢!
from subdivnet.
@ZYB-1997,您好!
- 如果要将 raw mesh 的 per face label 投射到 subdivided mesh 上,points 选取的是后者的面片中心。
- 如果原始数据已有标签,那么可以用上述方法将标签投射到重网格化后的模型。如果没有,那么直接在重网格化后的模型上标注应该会更有利于学习。
- 此MAPS算法是python实现,效率较低。具体是否能够支持您的数据规模,可能还需要尝试。
from subdivnet.
感谢您的回答!
还有一个问题,我在运行datagen_maps.py时,无法选择较小的base_size,我把输入的mesh数据调整到10000个三角面片,只能选择base_size==10000,请问这个参数应该参考什么数据来设置?
另外我在训练自己的数据集时报错,错误信息为Check failed: y_items != 0 && x_items % y_items == 0 reshape shape is invalid for input of size 1875
,目前我无法定位错误原因,这个是否跟remesh时的参数设置有关?我尝试调整输入参数无法解决该问题。
from subdivnet.
- base size 是应当比输入面片小的,您可以发一个样例我看一下。
- 请您提供比较完整的 log 信息以定位问题。
from subdivnet.
- 这个是样例,里面包含一个原始
.obj
文件和一个经过maps算法后的文件,base_size==10000,depth==1,以及我们标注的数据 (复制到浏览器打开):http://119.29.54.203:8848/test.zip - 下面是运行时的错误日志:
[i 0902 09:52:36.294000 04 compiler.py:955] Jittor(1.3.5.12) src: d:\software\anaconda3\envs\subdivnet\lib\site-packages\jittor
[i 0902 09:52:36.310000 04 compiler.py:956] cl at C:\Users\Administrator\.cache\jittor\msvc\VC\_\_\_\_\_\bin\cl.exe(19.29.30133)
[i 0902 09:52:36.311000 04 compiler.py:957] cache_path: C:\Users\Administrator\.cache\jittor\jt1.3.5\cl\py3.8.0\Windows-10-10.x93\AMDRyzen95900Xx4a\default
[i 0902 09:52:36.313000 04 install_cuda.py:88] cuda_driver_version: [11, 7, 0]
[i 0902 09:52:36.326000 04 __init__.py:411] Found C:\Users\Administrator\.cache\jittor\jtcuda\cuda11.2_cudnn8_win\bin\nvcc.exe(11.2.67) at C:\Users\Administrator\.cache\jittor\jtcuda\cuda11.2_cudnn8_win\bin\nvcc.exe.
[i 0902 09:52:36.376000 04 compiler.py:1010] cuda key:cu11.2.67
[i 0902 09:52:36.377000 04 __init__.py:227] Total mem: 31.89GB, using 10 procs for compiling.
[i 0902 09:52:37.051000 04 jit_compiler.cc:28] Load cc_path: C:\Users\Administrator\.cache\jittor\msvc\VC\_\_\_\_\_\bin\cl.exe
[i 0902 09:52:37.052000 04 init.cc:62] Found cuda archs: [86,]
[i 0902 09:52:37.085000 04 compile_extern.py:517] mpicc not found, distribution disabled.
[w 0902 09:52:37.133000 04 compile_extern.py:200] CUDA related path found in LD_LIBRARY_PATH or PATH(['', 'C', '\\Users\\Administrator\\.cache\\jittor\\jtcuda\\cuda11.2_cudnn8_win\\lib64', '', 'C', '\\Users\\Administrator\\.cache\\jittor\\mkl\\dnnl_win_2.2.0_cpu_vcomp\\bin', '', 'C', '\\Users\\Administrator\\.cache\\jittor\\mkl\\dnnl_win_2.2.0_cpu_vcomp\\lib', '', 'C', '\\Users\\Administrator\\.cache\\jittor\\jt1.3.5\\cl\\py3.8.0\\Windows-10-10.x93\\AMDRyzen95900Xx4a\\default', '', 'C', '\\Users\\Administrator\\.cache\\jittor\\jt1.3.5\\cl\\py3.8.0\\Windows-10-10.x93\\AMDRyzen95900Xx4a\\default\\cu11.2.67', '', 'C', '\\Users\\Administrator\\.cache\\jittor\\jtcuda\\cuda11.2_cudnn8_win\\bin', '', 'C', '\\Users\\Administrator\\.cache\\jittor\\jtcuda\\cuda11.2_cudnn8_win\\lib\\x64', '', 'C', '\\Users\\Administrator\\.cache\\jittor\\msvc\\win10_kits\\lib\\ucrt\\x64', '', 'C', '\\Users\\Administrator\\.cache\\jittor\\msvc\\win10_kits\\lib\\um\\x64', '', 'C', '\\Users\\Administrator\\.cache\\jittor\\msvc\\VC\\lib', '', 'd', '\\software\\anaconda3\\envs\\subdivnet\\libs', 'C', '\\Users\\Administrator\\.cache\\jittor\\msvc\\VC\\_\\_\\_\\_\\_\\bin', 'D', '\\Software\\Anaconda3\\envs\\subdivnet', 'D', '\\Software\\Anaconda3\\envs\\subdivnet\\Library\\mingw-w64\\bin', 'D', '\\Software\\Anaconda3\\envs\\subdivnet\\Library\\usr\\bin', 'D', '\\Software\\Anaconda3\\envs\\subdivnet\\Library\\bin', 'D', '\\Software\\Anaconda3\\envs\\subdivnet\\Scripts', 'D', '\\Software\\Anaconda3\\envs\\subdivnet\\bin', 'D', '\\Software\\Anaconda3\\condabin', 'C', '\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.3\\bin', 'C', '\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.3\\libnvvp', '.', '.', '.', 'C', '\\Python310\\Scripts', 'C', '\\Python310', 'C', '\\WINDOWS\\system32', 'C', '\\WINDOWS', 'C', '\\WINDOWS\\System32\\Wbem', 'C', '\\WINDOWS\\System32\\WindowsPowerShell\\v1.0', 'C', '\\WINDOWS\\System32\\OpenSSH', 'C', '\\Program Files\\dotnet', 'C', '\\Program Files\\NVIDIA Corporation\\NVIDIA NvDLISR', 'C', '\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common', 'D', '\\Software\\Anaconda3', 'D', '\\Software\\Anaconda3\\Scripts', 'D', '\\Software\\Anaconda3\\Library\\bin', 'D', '\\Software\\Anaconda3\\Library\\mingw-w64\\bin', 'D', '\\Software\\Git\\cmd', 'D', '\\Software\\PowerShell\\7', 'D', '\\Software\\Node', 'C', '\\ProgramData\\chocolatey\\bin', 'C', '\\Program Files (x86)\\dotnet', 'C', '\\Program Files (x86)\\Windows Kits\\8.1\\Windows Performance Toolkit', 'D', '\\Software\\CMake\\bin', 'C', '\\Program Files\\NVIDIA Corporation\\Nsight Compute 2021.1.0', 'C', '\\Users\\Administrator\\AppData\\Local\\Microsoft\\WindowsApps', 'C', '\\Users\\Administrator\\.dotnet\\tools', 'D', '\\Software\\Pycharm\\PyCharm 2022.1.2\\bin', '.', 'D', '\\Software\\Microsoft\\Microsoft VS Code\\bin', 'C', '\\Users\\Administrator\\AppData\\Roaming\\npm']), This path may cause jittor found the wrong libs, please unset LD_LIBRARY_PATH and remove cuda lib path in Path.
Or you can let jittor install cuda for you: python3.x -m jittor_utils.install_cuda
[i 0902 09:52:38.198000 04 cuda_flags.cc:32] CUDA enabled.
name: test
0: 0%| | 0/1 [00:09<?, ?it/s]
Traceback (most recent call last):
File "E:/work/Projects/SubdivNet/train_seg.py", line 167, in <module>
train(net, optim, train_dataset, writer, epoch)
File "E:/work/Projects/SubdivNet/train_seg.py", line 36, in train
outputs = net(mesh_tensor)
File "D:\Software\Anaconda3\envs\subdivnet\lib\site-packages\jittor\__init__.py", line 951, in __call__
return self.execute(*args, **kw)
File "E:\work\Projects\SubdivNet\subdivnet\deeplab.py", line 73, in execute
mid_mesh = self.mid_conv(mid_mesh)
File "D:\Software\Anaconda3\envs\subdivnet\lib\site-packages\jittor\__init__.py", line 951, in __call__
return self.execute(*args, **kw)
File "E:\work\Projects\SubdivNet\subdivnet\deeplab.py", line 29, in execute
mesh = self.mconv1(mesh)
File "D:\Software\Anaconda3\envs\subdivnet\lib\site-packages\jittor\__init__.py", line 951, in __call__
return self.execute(*args, **kw)
File "E:\work\Projects\SubdivNet\subdivnet\mesh_ops.py", line 52, in execute
CKP = mesh_tensor.convolution_kernel_pattern(self.kernel_size, self.dilation)
File "E:\work\Projects\SubdivNet\subdivnet\mesh_tensor.py", line 409, in convolution_kernel_pattern
return self.FAF
File "E:\work\Projects\SubdivNet\subdivnet\mesh_tensor.py", line 108, in FAF
self._cache['FAF'] = self.compute_face_adjacency_faces()
File "E:\work\Projects\SubdivNet\subdivnet\mesh_tensor.py", line 304, in compute_face_adjacency_faces
S = S.reshape(-1, 2)
File "D:\Software\Anaconda3\envs\subdivnet\lib\site-packages\jittor\__init__.py", line 553, in reshape
return origin_reshape(x, shape)
RuntimeError: Wrong inputs arguments, Please refer to examples(help(jt.ops.reshape)).
Types of your inputs are:
self = module,
args = (Var, tuple, ),
The function declarations are:
VarHolder* reshape(VarHolder* x, NanoVector shape)
Failed reason:[f 0902 09:52:48.483000 04 reshape_op.cc:47] Check failed: y_items != 0 && x_items % y_items == 0 reshape shape is invalid for input of size 1875
Process finished with exit code 1
from subdivnet.
进度条显示的是MAPS算法的简化过程中顶点的数目,简化程度越高,需要维护的参数化数据越多,合法的简化方式也越少,因此基网格大小越小,速度越慢。一些模型可能因为其自身性质复杂,不可能达到所需要大小的基网格,因此到最后可能永远计算不出来。
您可以增大 base size,减小 remesh 的难度,加快速度。此外,datagen_maps.py 可以设置 timeout 参数,如果网格简化用时太长可以提前退出,使得输入网格可以自适应地达到合适的基网格大小。
from subdivnet.
谢谢您,问题已解决!
from subdivnet.
@lzhengning 您好!我也是遇到了在运行datagen_maps.py时,无法选择较小的base_size,只能选择base_size和输入面片数一样才能正常运行,请问这是什么原因造成的,base_size和depth这两个参数怎么设置比较好呢?
from subdivnet.
@ZYB-1997 您好!您提到问题的原因是生成的obj数据存在问题,请问是什么问题,我想我也可能和您遇到了一样的问题。
from subdivnet.
@ZYB-1997 您好!您提到问题的原因是生成的obj数据存在问题,请问是什么问题,我想我也可能和您遇到了一样的问题。
@szdxhwz 你好!我现在不确定问题的原因,之前出问题都是因为我采用blender导出的obj数据来作为输入,后面改成用trimesh直接读取就好了。
from subdivnet.
@ZYB-1997 感谢您的回复,我进行了重采样和模型简化,然后可以运行了,问题已解决。
from subdivnet.
@ZYB-1997 您好!我现在需要制作我自己的数据集来进行训练,请问您知道怎么在mesh上画标签并导出json嘛,就像您上面给的数据里的json那样?http://119.29.54.203:8848/test.zip
from subdivnet.
@ZYB-1997 您好!我现在需要制作我自己的数据集来进行训练,请问您知道怎么在mesh上画标签并导出json嘛,就像您上面给的数据里的json那样?http://119.29.54.203:8848/test.zip
我是自己写的软件来进行标注的,用VTK+QT来做的
from subdivnet.
@ZYB-1997 好的明白了,感谢您的回复!
from subdivnet.
Related Issues (20)
- About your visualization. HOT 1
- cannot reproduce results on Manifold40 HOT 4
- Question: Can we use this approach for Quad dominant meshes(Quad +Tria elements). If not, can you suggest an approach that helps on Quad plus Tria meshes having dominant quad elements
- question about the input data "meshes" HOT 1
- Question about shape correspondence experiments HOT 1
- About one sample in Manifold40 HOT 2
- Data preprocessing HOT 3
- question concerning labeling the data HOT 2
- Questions about input data for segmentation HOT 1
- A PyTorch implementation of SubdivNet? HOT 1
- 如何制作数据集 HOT 1
- Data Preprocessing with datagen_maps.py HOT 1
- Failed downloading dataset HOT 2
- Regression
- raw mesh for SHREC11 dataset HOT 2
- Confused about the implementation of MAPS
- Failed to download and preprocessing Manifold40 segmentation dataset
- 你好 请问您的工作可以用来进行网格简化工作吗?
- runtime error HOT 1
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 subdivnet.