Coder Social home page Coder Social logo

attentionmeshcnn's Introduction

Presentation

docs/MeshCNN Attention.pptx
https://github.com/TomerRonen34/AttentionMeshCNN/blob/master/docs/MeshCNN%20Attention.pptx

Our contributions

  • Global self attention mechanism for meshes
  • MeshPool prioritizing with attention values
  • Local self attention mechanism for meshes
    • Efficient Cython implementation of shortest paths algorithm
  • Positional encoding for meshes

Usage Instructions

For training our best network run the script scripts/cubes/get_data.sh and then scripts/cubes/rpr_global.sh

The flags which were added by us:

--attn_n_heads, type=int, default=4
number of heads for Multi Headed Attention

--prioritize_with_attention
if given, the priority queue for the pool operation is calculated from the attention softmax. default priority is l2 norm.

--attn_dropout, type=float, default=0.1
dropout fraction for attention layer

--attn_max_dist, type=int, default=None
max distance for local attention. default (None) is global attention

--attn_use_values_as_is
if given, attention layers learn a weighting of the input features. default behavior is learning a weighting of a linear transformation of the input features.

--double_attention
if given, the edge priorities are calculated using the results of applying the attention layer to the results of itself. default behavior is calculating the priorities from the results of applying the attention to the convolutional features. NOTE: attn_use_values_as_is must be True if you use this option, since the attention layer works on its own outputs.

--attn_use_positional_encoding
use relative positional encodings to add positional meaning to attention. relative position is determined by the number "hops" it takes to reach one edge from another, where hops are only allowed through convolutional neighbors (edges that share the same triangle). mathematically, this is shortest path in a graph where every edge is a node and adjacency is determined in the same way as convolutional neighborhood.

--attn_max_relative_position, type=int, default=6
the maximal relative position for positional encoding. edges further aways than max_pos are treated as if their position is max_pos. an 5-distance-neighborhood of an edge contains about 60 edges (see doc/neighbors_vs_local.png or .csv)

attentionmeshcnn's People

Contributors

danacohen95 avatar emepetres avatar ranahanocka avatar tomerronen34 avatar tomershshsh avatar

Stargazers

 avatar

Forkers

timeless-h

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.