{
  "id": 98719,
  "title": "Latent Walk Examples",
  "url": "/competitions/generative-dog-images/discussion/98719",
  "author_name": "Chris Deotte",
  "post_date": "2019-07-05T19:25:52.796000",
  "votes": 63,
  "comment_count": 16,
  "views": 0,
  "content": "<p>Below are some latent walk examples as inspiration. They come from this <a href=\"https://arxiv.org/abs/1809.11096\">paper</a>. Latent walks are explained in my kernel <a href=\"https://www.kaggle.com/cdeotte/supervised-generative-dog-net#Walking-in-the-Latent-Space\">here</a>.</p>\n\n<p>After training a GAN, you have a Generator that takes a random vector as input and returns an image as output. If you input seed <code>x1 = [1, 0, 0]</code> you may get a shark image and seed <code>x10 = [10, 0, 0]</code> may give a dog image. What happens when you input the seeds inbetween? For example <code>x2 = [2, 0, 0]</code>, <code>x3 = [3, 0, 0</code>, ... , <code>x9 = [9, 0, 0]</code>. A high quality Generator was trained to <strong>always</strong> output realistic photos, so you wont see a half shark half dog. Instead you will see a sequence of realistic animal images that slowly transform from shark to dog !! (See top row below).</p>\n\n<p>Latent walks can help us distinguish simple memorizing GANs from complex generalizing GANs <a href=\"https://www.kaggle.com/cdeotte/dog-memorizer-gan\">here</a>.</p>\n\n<p><img src=\"http://playagricola.com/Kaggle/exa7519.png\" alt=\"image\"></p>\n\n<p><img src=\"http://playagricola.com/Kaggle/exb7519.png\" alt=\"image\"></p>",
  "messages": [
    {
      "id": 568971,
      "postDate": "2019-07-05T19:25:52.797Z",
      "content": "<p>Below are some latent walk examples as inspiration. They come from this <a href=\"https://arxiv.org/abs/1809.11096\">paper</a>. Latent walks are explained in my kernel <a href=\"https://www.kaggle.com/cdeotte/supervised-generative-dog-net#Walking-in-the-Latent-Space\">here</a>.</p>\n\n<p>After training a GAN, you have a Generator that takes a random vector as input and returns an image as output. If you input seed <code>x1 = [1, 0, 0]</code> you may get a shark image and seed <code>x10 = [10, 0, 0]</code> may give a dog image. What happens when you input the seeds inbetween? For example <code>x2 = [2, 0, 0]</code>, <code>x3 = [3, 0, 0</code>, ... , <code>x9 = [9, 0, 0]</code>. A high quality Generator was trained to <strong>always</strong> output realistic photos, so you wont see a half shark half dog. Instead you will see a sequence of realistic animal images that slowly transform from shark to dog !! (See top row below).</p>\n\n<p>Latent walks can help us distinguish simple memorizing GANs from complex generalizing GANs <a href=\"https://www.kaggle.com/cdeotte/dog-memorizer-gan\">here</a>.</p>\n\n<p><img src=\"http://playagricola.com/Kaggle/exa7519.png\" alt=\"image\"></p>\n\n<p><img src=\"http://playagricola.com/Kaggle/exb7519.png\" alt=\"image\"></p>",
      "rawMarkdown": "Below are some latent walk examples as inspiration. They come from this [paper][1]. Latent walks are explained in my kernel [here][2].\n\nAfter training a GAN, you have a Generator that takes a random vector as input and returns an image as output. If you input seed `x1 = [1, 0, 0]` you may get a shark image and seed `x10 = [10, 0, 0]` may give a dog image. What happens when you input the seeds inbetween? For example `x2 = [2, 0, 0]`, `x3 = [3, 0, 0`, ... , `x9 = [9, 0, 0]`. A high quality Generator was trained to **always** output realistic photos, so you wont see a half shark half dog. Instead you will see a sequence of realistic animal images that slowly transform from shark to dog !! (See top row below).\n\nLatent walks can help us distinguish simple memorizing GANs from complex generalizing GANs [here][3].\n\n![image](http://playagricola.com/Kaggle/exa7519.png)\n\n![image](http://playagricola.com/Kaggle/exb7519.png)\n\n[1]: https://arxiv.org/abs/1809.11096\n[2]: https://www.kaggle.com/cdeotte/supervised-generative-dog-net#Walking-in-the-Latent-Space\n[3]: https://www.kaggle.com/cdeotte/dog-memorizer-gan",
      "votes": 61
    },
    {
      "id": 568998,
      "postDate": "2019-07-05T20:31:36.083Z",
      "content": "<p>I'd love something like that mandatory for every submission</p>",
      "rawMarkdown": "I'd love something like that mandatory for every submission",
      "votes": 3
    },
    {
      "id": 575489,
      "postDate": "2019-07-15T13:34:46.930Z",
      "content": "<p>Here's a latent walk example from my Kaggle dog RaLSGAN. Seed <code>x1</code> produces <code>dog A</code> and seed <code>x2</code> produces <code>dog B</code>. We walk from <code>x1</code> to <code>x2</code> in latent space taking 9 steps and output an image for each. Notice how all 10 images are valid pictures of dogs. This is what a GAN does. For comparison, I display a pixel blend between the two dogs below. The intermediate images are not valid dogs.</p>\n\n<h2>GAN latent walk</h2>\n\n<p><img src=\"http://playagricola.com/Kaggle/latentc71219.png\" alt=\"image\"></p>\n\n<h2>Adobe Photoshop pixel blend</h2>\n\n<p><img src=\"http://playagricola.com/Kaggle/blendc71219.png\" alt=\"image\"></p>",
      "rawMarkdown": "Here's a latent walk example from my Kaggle dog RaLSGAN. Seed `x1` produces `dog A` and seed `x2` produces `dog B`. We walk from `x1` to `x2` in latent space taking 9 steps and output an image for each. Notice how all 10 images are valid pictures of dogs. This is what a GAN does. For comparison, I display a pixel blend between the two dogs below. The intermediate images are not valid dogs.\n## GAN latent walk\n![image](http://playagricola.com/Kaggle/latentc71219.png)\n## Adobe Photoshop pixel blend\n![image](http://playagricola.com/Kaggle/blendc71219.png)",
      "votes": 4
    },
    {
      "id": 572314,
      "postDate": "2019-07-10T19:13:41.340Z",
      "content": "<p>We can finally automate <a href=\"http://www.dorkly.com/post/76762/the-14-most-upsetting-animorphs-covers\">making Animorph book covers</a>! 😂 </p>",
      "rawMarkdown": "We can finally automate [making Animorph book covers](http://www.dorkly.com/post/76762/the-14-most-upsetting-animorphs-covers)! 😂 ",
      "votes": 4
    },
    {
      "id": 575492,
      "postDate": "2019-07-15T13:40:41.970Z",
      "content": "<p>Thanks <a href=\"/cdeotte\">@cdeotte</a> for sharing this , very interesting .</p>",
      "rawMarkdown": "Thanks @cdeotte for sharing this , very interesting .",
      "votes": 1
    },
    {
      "id": 573021,
      "postDate": "2019-07-11T17:07:36.870Z",
      "content": "<p>GANs will make us question the very nature of human creativity!</p>",
      "rawMarkdown": "GANs will make us question the very nature of human creativity!",
      "votes": 1
    },
    {
      "id": 571672,
      "postDate": "2019-07-10T00:54:16.117Z",
      "content": "<p>Wow, It's amazing! </p>",
      "rawMarkdown": "Wow, It's amazing! ",
      "votes": 1
    },
    {
      "id": 570812,
      "postDate": "2019-07-08T19:34:16.193Z",
      "content": "<p>It is nice </p>",
      "rawMarkdown": "It is nice ",
      "votes": 1
    },
    {
      "id": 570442,
      "postDate": "2019-07-08T09:50:26.790Z",
      "content": "<p>It's fuel for both nightmares and GAN improving, great job. I'll think about it while not sleeping tonight.\nPlease keep on your good work with explaining ML !</p>",
      "rawMarkdown": "It's fuel for both nightmares and GAN improving, great job. I'll think about it while not sleeping tonight.\nPlease keep on your good work with explaining ML !",
      "votes": 1
    },
    {
      "id": 570263,
      "postDate": "2019-07-08T04:16:25.203Z",
      "content": "<p>nice</p>",
      "rawMarkdown": "nice",
      "votes": 1
    },
    {
      "id": 569301,
      "postDate": "2019-07-06T12:00:40.833Z",
      "content": "<p>Wow! That's surreal !</p>",
      "rawMarkdown": "Wow! That's surreal !",
      "votes": 1
    },
    {
      "id": 569228,
      "postDate": "2019-07-06T09:24:13.060Z",
      "content": "<p>It is Beautiful, Great work</p>",
      "rawMarkdown": "It is Beautiful, Great work",
      "votes": 1
    },
    {
      "id": 569108,
      "postDate": "2019-07-06T04:37:20.830Z",
      "content": "<p>It's amazing!</p>",
      "rawMarkdown": "It's amazing!",
      "votes": 1
    },
    {
      "id": 569061,
      "postDate": "2019-07-06T01:13:20.887Z",
      "content": "<p>crazy! it's amazing, that's why I love GANs</p>",
      "rawMarkdown": "crazy! it's amazing, that's why I love GANs",
      "votes": 1
    },
    {
      "id": 569804,
      "postDate": "2019-07-07T11:33:29.030Z",
      "content": "<p>It's magic! </p>",
      "rawMarkdown": "It's magic! ",
      "votes": 2
    },
    {
      "id": 569315,
      "postDate": "2019-07-06T12:41:27.803Z",
      "content": "<p>I'm new to GANs and thank to your posts I can see its huge possibility</p>",
      "rawMarkdown": "I'm new to GANs and thank to your posts I can see its huge possibility",
      "votes": 2
    },
    {
      "id": 569313,
      "postDate": "2019-07-06T12:40:17.203Z",
      "content": "<p>Amazing!</p>",
      "rawMarkdown": "Amazing!",
      "votes": 1,
      "isDeleted": true
    }
  ],
  "comments": [
    {
      "id": 568998,
      "author_name": "Pascal Pfeiffer",
      "author_url": "",
      "post_date": "2019-07-05T20:31:36.083000",
      "content": "<p>I'd love something like that mandatory for every submission</p>",
      "votes": 3,
      "replies": []
    },
    {
      "id": 575489,
      "author_name": "Chris Deotte",
      "author_url": "",
      "post_date": "2019-07-15T13:34:46.930000",
      "content": "<p>Here's a latent walk example from my Kaggle dog RaLSGAN. Seed <code>x1</code> produces <code>dog A</code> and seed <code>x2</code> produces <code>dog B</code>. We walk from <code>x1</code> to <code>x2</code> in latent space taking 9 steps and output an image for each. Notice how all 10 images are valid pictures of dogs. This is what a GAN does. For comparison, I display a pixel blend between the two dogs below. The intermediate images are not valid dogs.</p>\n\n<h2>GAN latent walk</h2>\n\n<p><img src=\"http://playagricola.com/Kaggle/latentc71219.png\" alt=\"image\"></p>\n\n<h2>Adobe Photoshop pixel blend</h2>\n\n<p><img src=\"http://playagricola.com/Kaggle/blendc71219.png\" alt=\"image\"></p>",
      "votes": 4,
      "replies": []
    },
    {
      "id": 572314,
      "author_name": "Rachael Tatman",
      "author_url": "",
      "post_date": "2019-07-10T19:13:41.340000",
      "content": "<p>We can finally automate <a href=\"http://www.dorkly.com/post/76762/the-14-most-upsetting-animorphs-covers\">making Animorph book covers</a>! 😂 </p>",
      "votes": 4,
      "replies": []
    },
    {
      "id": 575492,
      "author_name": "P_R_Mohanty",
      "author_url": "",
      "post_date": "2019-07-15T13:40:41.970000",
      "content": "<p>Thanks <a href=\"/cdeotte\">@cdeotte</a> for sharing this , very interesting .</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 573021,
      "author_name": "Mohammed Tayor",
      "author_url": "",
      "post_date": "2019-07-11T17:07:36.870000",
      "content": "<p>GANs will make us question the very nature of human creativity!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 571672,
      "author_name": "",
      "author_url": "",
      "post_date": "2019-07-10T00:54:16.117000",
      "content": "<p>Wow, It's amazing! </p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 570812,
      "author_name": "Raju Kumar Mishra",
      "author_url": "",
      "post_date": "2019-07-08T19:34:16.193000",
      "content": "<p>It is nice </p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 570442,
      "author_name": "Yann Berthelot",
      "author_url": "",
      "post_date": "2019-07-08T09:50:26.790000",
      "content": "<p>It's fuel for both nightmares and GAN improving, great job. I'll think about it while not sleeping tonight.\nPlease keep on your good work with explaining ML !</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 570263,
      "author_name": "",
      "author_url": "",
      "post_date": "2019-07-08T04:16:25.203000",
      "content": "<p>nice</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 569301,
      "author_name": "Nirjhar Roy",
      "author_url": "",
      "post_date": "2019-07-06T12:00:40.833000",
      "content": "<p>Wow! That's surreal !</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 569228,
      "author_name": "gunish jha",
      "author_url": "",
      "post_date": "2019-07-06T09:24:13.060000",
      "content": "<p>It is Beautiful, Great work</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 569108,
      "author_name": "ZNing",
      "author_url": "",
      "post_date": "2019-07-06T04:37:20.830000",
      "content": "<p>It's amazing!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 569061,
      "author_name": "Nanashi",
      "author_url": "",
      "post_date": "2019-07-06T01:13:20.887000",
      "content": "<p>crazy! it's amazing, that's why I love GANs</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 569804,
      "author_name": "Meed Zaoui",
      "author_url": "",
      "post_date": "2019-07-07T11:33:29.030000",
      "content": "<p>It's magic! </p>",
      "votes": 2,
      "replies": []
    },
    {
      "id": 569315,
      "author_name": "Hoang-Phuc Trang-Trung",
      "author_url": "",
      "post_date": "2019-07-06T12:41:27.803000",
      "content": "<p>I'm new to GANs and thank to your posts I can see its huge possibility</p>",
      "votes": 2,
      "replies": []
    },
    {
      "id": 569313,
      "author_name": "",
      "author_url": "",
      "post_date": "2019-07-06T12:40:17.203000",
      "content": "<p>Amazing!</p>",
      "votes": 1,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "568971": "Below are some latent walk examples as inspiration. They come from this [paper][1]. Latent walks are explained in my kernel [here][2].\n\nAfter training a GAN, you have a Generator that takes a random vector as input and returns an image as output. If you input seed `x1 = [1, 0, 0]` you may get a shark image and seed `x10 = [10, 0, 0]` may give a dog image. What happens when you input the seeds inbetween? For example `x2 = [2, 0, 0]`, `x3 = [3, 0, 0`, ... , `x9 = [9, 0, 0]`. A high quality Generator was trained to **always** output realistic photos, so you wont see a half shark half dog. Instead you will see a sequence of realistic animal images that slowly transform from shark to dog !! (See top row below).\n\nLatent walks can help us distinguish simple memorizing GANs from complex generalizing GANs [here][3].\n\n![image](http://playagricola.com/Kaggle/exa7519.png)\n\n![image](http://playagricola.com/Kaggle/exb7519.png)\n\n[1]: https://arxiv.org/abs/1809.11096\n[2]: https://www.kaggle.com/cdeotte/supervised-generative-dog-net#Walking-in-the-Latent-Space\n[3]: https://www.kaggle.com/cdeotte/dog-memorizer-gan",
    "568998": "I'd love something like that mandatory for every submission",
    "575489": "Here's a latent walk example from my Kaggle dog RaLSGAN. Seed `x1` produces `dog A` and seed `x2` produces `dog B`. We walk from `x1` to `x2` in latent space taking 9 steps and output an image for each. Notice how all 10 images are valid pictures of dogs. This is what a GAN does. For comparison, I display a pixel blend between the two dogs below. The intermediate images are not valid dogs.\n## GAN latent walk\n![image](http://playagricola.com/Kaggle/latentc71219.png)\n## Adobe Photoshop pixel blend\n![image](http://playagricola.com/Kaggle/blendc71219.png)",
    "572314": "We can finally automate [making Animorph book covers](http://www.dorkly.com/post/76762/the-14-most-upsetting-animorphs-covers)! 😂 ",
    "575492": "Thanks @cdeotte for sharing this , very interesting .",
    "573021": "GANs will make us question the very nature of human creativity!",
    "571672": "Wow, It's amazing! ",
    "570812": "It is nice ",
    "570442": "It's fuel for both nightmares and GAN improving, great job. I'll think about it while not sleeping tonight.\nPlease keep on your good work with explaining ML !",
    "570263": "nice",
    "569301": "Wow! That's surreal !",
    "569228": "It is Beautiful, Great work",
    "569108": "It's amazing!",
    "569061": "crazy! it's amazing, that's why I love GANs",
    "569804": "It's magic! ",
    "569315": "I'm new to GANs and thank to your posts I can see its huge possibility",
    "569313": "Amazing!"
  }
}