Giter VIP home page Giter VIP logo

attentive-neural-process's Introduction

Attentive-Neural-Process

Description

  • A pytorch implementation of Attentive Neural Process.
  • Simple code for generating samples with ANP.
  • I will update the super-resolution experiments soon.

Requirements

  • Install python 3
  • Install pytorch == 0.4.0

File description

  • preprocess.py includes all preprocessing codes when you loads data.
  • module.py contains all methods, including attention, linear and so on.
  • network.py contains whole structure of network.
  • train.py is for training ANP model.
  • generate.ipynb is for generating samples.

Results

test samples after 50 epoch training with random context selection.

  • original

* 10 contexts

* 50 contexts

* 100 contexts

* half contexts

Reference

Comments

  • Any comments for the codes are always welcome.

attentive-neural-process's People

Contributors

soobinseo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

attentive-neural-process's Issues

Some clarifications about attention used

Thank you for sharing the code.
According to the paper, Appendix A 2nd paragraph, dropout is not used for attention.

In line 205, the residual and result are concatenated, but I think they should be added elementwise and then passed through a layer_norm (Figure 8 ANP paper). I wonder if there is some reason for this modification.

Thanks,
Deep Pandey

Mean or sum reduction

In networ.py BCELoss has the default settings, which (looking both for pytorch1.1 and pytorch0.4) does the mean reduction. However, the KL divergence function (also in network.py) seems to be using the sum reduction. Intuitively, either both should be sum or both mean. Is this a bug or is this correct?

Thanks!

confused about residual in attention

Hi,
Thanks for your implementation!
I am a little confused about result = t.cat([residual, result], dim=-1) in line 205 as you mentioned very important. Why do you need to concatenate the original residual result ?

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.