BRepNet | topological message passing system for solid models
kandi X-RAY | BRepNet Summary
kandi X-RAY | BRepNet Summary
BRepNet is a Python library. BRepNet has no bugs, it has no vulnerabilities and it has low support. However BRepNet build file is not available and it has a Non-SPDX License. You can download it from GitHub.
BRepNet is a neural network specifically designed to operate on solid models. It uses additional topological information present in the boundary representation (B-Rep) data structure to perform convolutions in a way which is not possible for arbitrary graphs. As B-Reps describe manifolds, they contain additional topological information which includes the ordering of edges around faces as well as the face adjacency. The topology is defined using oriented edges called coedges. Each coedge maintains an adjacency relationship with the next and previous coedge around its parent face, the mating coedge on the adjacent face, the parent face and the parent edge. Using this information, we can identify faces, edges and coedges in the neighborhood of some starting coedge (red), using topological walks. A topological walk is a series of instructions we move us from the starting coedge to a nearby entity. In the figure above (B) the we show a walk from the red starting coedge to its mating coedge, to the next coedge in the loop, to mating coedge and finally to the parent face. Using multiple topological walks we can define a group of entities in the neighborhood of the starting coedge. The instructions which define the neighboring entities are marked in the figure (C). The BRepNet implementation allows you to define any group of entities using a kernel file. See here for an example of a kernel file for kernel entities shown above. The BRepNet convolution algorithm concatenates feature vectors from the entities defined in the kernel file relative to the starting coedge (red). The resulting vector is passed through an MLP and the output becomes the hidden state for this coedge in the next network layer. The procedure is repeated for each coedge in the model, then new hidden state vectors for the faces and edges are generated by pooling the coedge hidden states onto their parent faces and edges. See the paper for more details. The actual implementation of the BRepNet convolution can been seen in the BRepNetLayer.forward() method.
BRepNet is a neural network specifically designed to operate on solid models. It uses additional topological information present in the boundary representation (B-Rep) data structure to perform convolutions in a way which is not possible for arbitrary graphs. As B-Reps describe manifolds, they contain additional topological information which includes the ordering of edges around faces as well as the face adjacency. The topology is defined using oriented edges called coedges. Each coedge maintains an adjacency relationship with the next and previous coedge around its parent face, the mating coedge on the adjacent face, the parent face and the parent edge. Using this information, we can identify faces, edges and coedges in the neighborhood of some starting coedge (red), using topological walks. A topological walk is a series of instructions we move us from the starting coedge to a nearby entity. In the figure above (B) the we show a walk from the red starting coedge to its mating coedge, to the next coedge in the loop, to mating coedge and finally to the parent face. Using multiple topological walks we can define a group of entities in the neighborhood of the starting coedge. The instructions which define the neighboring entities are marked in the figure (C). The BRepNet implementation allows you to define any group of entities using a kernel file. See here for an example of a kernel file for kernel entities shown above. The BRepNet convolution algorithm concatenates feature vectors from the entities defined in the kernel file relative to the starting coedge (red). The resulting vector is passed through an MLP and the output becomes the hidden state for this coedge in the next network layer. The procedure is repeated for each coedge in the model, then new hidden state vectors for the faces and edges are generated by pooling the coedge hidden states onto their parent faces and edges. See the paper for more details. The actual implementation of the BRepNet convolution can been seen in the BRepNetLayer.forward() method.
Support
Quality
Security
License
Reuse
Support
BRepNet has a low active ecosystem.
It has 8 star(s) with 0 fork(s). There are 4 watchers for this library.
It had no major release in the last 6 months.
BRepNet has no issues reported. There are no pull requests.
It has a neutral sentiment in the developer community.
The latest version of BRepNet is current.
Quality
BRepNet has no bugs reported.
Security
BRepNet has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
License
BRepNet has a Non-SPDX License.
Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.
Reuse
BRepNet releases are not available. You will need to build from source code and install.
BRepNet has no build file. You will be need to create the build yourself to build the component from source.
Installation instructions, examples and code snippets are available.
Top functions reviewed by kandi - BETA
kandi has reviewed BRepNet and discovered the below as its top functions. This is intended to give you an instant insight into BRepNet implemented functionality, and help decide if they suit your requirements.
- Run BRepNet
- Save test results
- Compute the MLP
- Find the maximum feature vectors for each face
- Builds a tensor product matrix
- Find the max feature vector for each edge
- Ends validation epoch
- Combine epoch outputs
- Compute the accuracy of each epoch
- Perform a training step
- Perform the brepnet step
- Perform grid search
- Extract data from a single step
- Evaluate a folder
- Extract bpnet data from a step
- Build a dataset file
- Evaluate the given model
- Builds a dataset file
- R Compute the MLP
- Evaluate the BRepNet
- Display faces with heatmap
- Perform validation step
- View a trimesh file
- Extract data from a JSON file
- Display the errors in a segmentation
- Highlight the faces with the given indices
- View faces of a segment
- View the predicted segmentation
- Main worker function
Get all kandi verified functions for this library.
BRepNet Key Features
No Key Features are available at this moment for BRepNet.
BRepNet Examples and Code Snippets
No Code Snippets are available at this moment for BRepNet.
Community Discussions
No Community Discussions are available at this moment for BRepNet.Refer to stack overflow page for discussions.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install BRepNet
For GPU training you will need to change the pytorch install to include your cuda version. i.e. For training with multiple workers you may hit errors of the form OSError: [Errno 24] Too many open files. In this case you need to increase the number of available file handles on the machine using. I find I need to set the limit to 10000 for 10 worker threads.
You can download the step distribution of the Fusion 360 Gallery segmentation dataset from this link. The zip is 3.2Gb. Alternatively download using curl.
You can download the step distribution of the Fusion 360 Gallery segmentation dataset from this link. The zip is 3.2Gb. Alternatively download using curl.
Support
For any new features, suggestions and bugs create an issue on GitHub.
If you have any questions check and ask questions on community page Stack Overflow .
Find more information at:
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page