diff --git a/_config.yml b/_config.yml
index f6f0c137fa9a..5f3a0e3b9504 100644
--- a/_config.yml
+++ b/_config.yml
@@ -72,6 +72,9 @@ collections:
output: true
past_issues:
output: true
+ events:
+ output: true
+ future: true
pagination:
enabled: true
diff --git a/_events/episode_12.md b/_events/episode_12.md
new file mode 100644
index 000000000000..74647c014c39
--- /dev/null
+++ b/_events/episode_12.md
@@ -0,0 +1,10 @@
+---
+category: live-stream
+title: Episode 12
+guest: Shagun Sodhani
+company: Facebook AI
+date: August 4, 2021
+time: 1PM PST
+poster: https://assets.pytorch.org/pted2021/posters/C2.png
+link: https://www.youtube.com/pytorch
+---
diff --git a/_events/episode_13.md b/_events/episode_13.md
new file mode 100644
index 000000000000..8500bf29e8f1
--- /dev/null
+++ b/_events/episode_13.md
@@ -0,0 +1,10 @@
+---
+category: live-stream
+title: Episode 13
+guest: Sabrina Smai + Geeta Chauhan
+company: Microsoft + Facebook AI
+date: August 11, 2021
+time: 1PM PST
+poster: https://assets.pytorch.org/pted2021/posters/H6.png
+link: https://www.youtube.com/pytorch
+---
diff --git a/_events/episode_14.md b/_events/episode_14.md
new file mode 100644
index 000000000000..dfc9be18a5c6
--- /dev/null
+++ b/_events/episode_14.md
@@ -0,0 +1,10 @@
+---
+category: live-stream
+title: Episode 14
+guest: Edgar Riba
+company: Kornia
+date: August 17, 2021
+time: 9AM PST
+poster: https://assets.pytorch.org/pted2021/posters/C7.png
+link: https://www.youtube.com/pytorch
+---
diff --git a/_events/episode_15.md b/_events/episode_15.md
new file mode 100644
index 000000000000..60c98e77b928
--- /dev/null
+++ b/_events/episode_15.md
@@ -0,0 +1,10 @@
+---
+category: live-stream
+title: Episode 15
+guest: Tom Bromley + Josh Izaac
+company: Xanadu
+date: August 25, 2021
+time: 9 AM PST
+poster: https://assets.pytorch.org/pted2021/posters/K1.png
+link: https://assets.pytorch.org/pted2021/posters/K1.png
+---
diff --git a/_events/episode_16.md b/_events/episode_16.md
new file mode 100644
index 000000000000..b06e598f8c7e
--- /dev/null
+++ b/_events/episode_16.md
@@ -0,0 +1,10 @@
+---
+category: live-stream
+title: Episode 16
+guest: Natasha Seelam + Patricio Cerda-Mardini
+company: MindsDB
+date: September 1, 2021
+time: 9AM PST
+poster: https://assets.pytorch.org/pted2021/posters/H8.png
+link: https://www.youtube.com/pytorch
+---
diff --git a/_events/episode_17.md b/_events/episode_17.md
new file mode 100644
index 000000000000..23908836e355
--- /dev/null
+++ b/_events/episode_17.md
@@ -0,0 +1,9 @@
+---
+category: live-stream
+title: Episode 17
+guest: Sergey Kolesnikov
+company: Catalyst
+date: September 8, 2021
+time: 9 AM PST
+poster: https://assets.pytorch.org/pted2021/posters/K2.png
+---
diff --git a/_events/episode_18.md b/_events/episode_18.md
new file mode 100644
index 000000000000..08f3b0ee910d
--- /dev/null
+++ b/_events/episode_18.md
@@ -0,0 +1,9 @@
+---
+category: live-stream
+title: Episode 18
+guest: Victor Fomin
+company: PyTorch Ignite
+date: September 15, 2021
+time: 9 AM PST
+poster: https://assets.pytorch.org/pted2021/posters/G4.png
+---
diff --git a/_events/example_event.md b/_events/example_event.md
new file mode 100644
index 000000000000..adca4bda2049
--- /dev/null
+++ b/_events/example_event.md
@@ -0,0 +1,10 @@
+---
+category: test
+title: Title of episode or webinar
+guest: Name of the guest
+company: Name of the company. This field only gets used for webinars
+date: August 4, 2021
+time: 1PM PST* If possible try to keep the format of the date and time the same as the example
+poster: Full URL to poster
+link: Full URL to video* Only used for webinars
+---
diff --git a/_events/pytorch_developer_day.md b/_events/pytorch_developer_day.md
new file mode 100644
index 000000000000..7431b29d4c46
--- /dev/null
+++ b/_events/pytorch_developer_day.md
@@ -0,0 +1,14 @@
+---
+category: event
+title: PyTorch Developer Day
+date: December 1, 2021
+header-image: assets/images/pytorch_developer_day_2021.png
+---
+
+The PyTorch Developer Day is a virtual event that brings together leading researchers and developers from the Machine Learning (ML) community to join a multiple set of talks covering new software releases, ways PyTorch is being used in academia and industry, and current trends in ML development. There will also be ample opportunity for networking with your peers and colleagues.
+
+*Call for Content Now Open!*
+
+We want to hear from you, our community. Submit your poster abstracts today. Please submit the **title** and **brief summary** of your project, tools, and libraries that could benefit PyTorch researchers in academia and industry, application developers, and ML engineers for consideration. The focus must be on academic papers, machine learning research, or open-source projects related to PyTorch development, Responsible AI or Mobile. Please no sales pitches. **Deadline for submission is September 24, 2021**.
+
+Submit your Poster abstract [HERE](http://pytorchdeveloperday.fbreg.com) You can submit your poster abstract in your registration form.
diff --git a/_events/pytorch_developer_day_2020.md b/_events/pytorch_developer_day_2020.md
new file mode 100644
index 000000000000..888cc423c278
--- /dev/null
+++ b/_events/pytorch_developer_day_2020.md
@@ -0,0 +1,8 @@
+---
+category: event
+title: PyTorch Developer Day 2020
+date: November 12, 2020
+header-image: assets/images/pytorch_developer_day_2020.png
+---
+
+The PyTorch Developer Day, a virtual event that brings together leading researchers and developers from the Machine Learning (ML) community to join a multiple set of talks covering new software releases, ways PyTorch is being used in academia and industry, ML development trends, a poster session, and many opportunities for networking.
diff --git a/_events/pytorch_ecosystem_day_2021.md b/_events/pytorch_ecosystem_day_2021.md
new file mode 100644
index 000000000000..48c4d7136662
--- /dev/null
+++ b/_events/pytorch_ecosystem_day_2021.md
@@ -0,0 +1,8 @@
+---
+category: event
+title: PyTorch Ecosystem Day 2021
+date: April 21, 2021
+header-image: assets/images/pytorch_ecosystem_day_2021.jpeg
+---
+
+PyTorch Ecosystem Day, a virtual event designed for our ecosystem and industry communities to showcase their work and discover new opportunities to collaborate. Join us for discussions on new developments, trends, challenges, and best practices through keynotes, breakout sessions, and a unique networking opportunity hosted through Gather.Town.
diff --git a/_events/pytorch_summer_hackathon_2020.md b/_events/pytorch_summer_hackathon_2020.md
new file mode 100644
index 000000000000..2b3a30617c4a
--- /dev/null
+++ b/_events/pytorch_summer_hackathon_2020.md
@@ -0,0 +1,12 @@
+---
+category: event
+title: PyTorch Summer Hackathon 2020
+date: June 22, 2020
+header-image: assets/images/summer_hackathon_2020.png
+---
+The PyTorch Summer Hackathon, a virtual event that invites developers to hack with the PyTorch community to build innovative, impactful models, applications and other projects that create positive impact for businesses or people. In it, developers are able to put their machine learning skills to the test in one of the following categories:
+- **PyTorch Developer Tools** : Tools or libraries designed to improve productivity and efficiency of PyTorch for researchers and developers.
+
+- **Web/Mobile Applications powered by PyTorch** : Applications with web/mobile interfaces and/or embedded devices powered by PyTorch.
+
+- **PyTorch Responsible AI Development Tools** : Tools, libraries, or web/mobile apps for responsible AI development.
diff --git a/_includes/events_side_nav.html b/_includes/events_side_nav.html
new file mode 100644
index 000000000000..a616af89c66d
--- /dev/null
+++ b/_includes/events_side_nav.html
@@ -0,0 +1,48 @@
+
+
+
+
+
+
diff --git a/_includes/latest_episodes.html b/_includes/latest_episodes.html
new file mode 100644
index 000000000000..1612ea99126f
--- /dev/null
+++ b/_includes/latest_episodes.html
@@ -0,0 +1,30 @@
+
+
+ {% assign events = site.events | where: "category", "live-stream" %}
+ {% capture now %}{{'now' | date: '%s' | plus: 0 %}}{% endcapture %}
+ {% for item in events | where: "type" == "live-stream" | sort: "date" %}
+ {% capture date %}{{item.date | date: '%s' | plus: 0 %}}{% endcapture %}
+ {% if date <= now %}
+
+
+
{{ item.title }}
+
+ - {{ item.guest }}
+ - {{ item.company }}
+ -
+
+ - {{ item.date | date: "%m/%d/%Y" }}
+ |
+ - {{ item.time }}
+
+
+
+
+
+
+
+ {% endif %}
+ {% endfor %}
+
diff --git a/_includes/live_event_video.html b/_includes/live_event_video.html
new file mode 100644
index 000000000000..23a40b1ee006
--- /dev/null
+++ b/_includes/live_event_video.html
@@ -0,0 +1,12 @@
+
diff --git a/_includes/live_events.html b/_includes/live_events.html
new file mode 100644
index 000000000000..e506c78bf17c
--- /dev/null
+++ b/_includes/live_events.html
@@ -0,0 +1,16 @@
+
+
+ {% include events_side_nav.html %}
+
+
+
+
+ {% assign events = site.events | where: "category", "event" | sort_natural: "date" | reverse %}
+ {% capture now %}{{'now' | date: '%s' | plus: 0 %}}{% endcapture %}
+ {% capture date %}{{item.date | date: '%s' | plus: 0 %}}{% endcapture %}
+ {% include upcoming-live-events.html %}
+ {% include past-live-events.html %}
+
+
+
+
diff --git a/_includes/live_stream.html b/_includes/live_stream.html
new file mode 100644
index 000000000000..d372e63ec7d9
--- /dev/null
+++ b/_includes/live_stream.html
@@ -0,0 +1,13 @@
+
+
+
PyTorch Community Voices
+
Bringing the community together through our collective voices
+
+
+
+ {% include upcoming_episodes.html %}
+
+ {% include latest_episodes.html %}
+
+
+
diff --git a/_includes/main_menu.html b/_includes/main_menu.html
index 7de790b863a0..244b7bd6c2d0 100644
--- a/_includes/main_menu.html
+++ b/_includes/main_menu.html
@@ -68,7 +68,7 @@
- {% assign resources = "resources, features, hub" | split: ", " %}
+ {% assign resources = "resources, features, hub, events" | split: ", " %}
@@ -85,6 +85,10 @@
Community
Join the PyTorch developer community to contribute, learn, and get your questions answered.
+
+ Events
+ Find events, webinars, and podcasts
+
Developer Resources
Find resources and get questions answered
diff --git a/_includes/mobile_menu.html b/_includes/mobile_menu.html
index 85c5bbcd8d83..97ad2ed6fb4e 100644
--- a/_includes/mobile_menu.html
+++ b/_includes/mobile_menu.html
@@ -98,6 +98,10 @@
Community
+
+ Events
+
+
Developer Resources
diff --git a/_includes/past-live-events.html b/_includes/past-live-events.html
new file mode 100644
index 000000000000..118c4c03e1a1
--- /dev/null
+++ b/_includes/past-live-events.html
@@ -0,0 +1,20 @@
+Past Events
+{% assign events = site.events | where: "category", "event" | sort_natural: "date" | reverse %}
+{% capture now %}{{'now' | date: '%s' | plus: 0 %}}{% endcapture %}
+{% for item in events %}
+ {% capture date %}{{item.date | date: '%s' | plus: 0 %}}{% endcapture %}
+ {% if date <= now %}
+
+ {% assign events = site.events %}
+ {% capture date %}{{item.date | date: '%s' | plus: 0 %}}{% endcapture %}
+
+
{{ item.title }}
+

+
{{ item.content | markdownify }}
+ {% if item.video %}
+ {% include live_event_video.html %}
+ {% endif %}
+
+
+ {% endif %}
+{% endfor %}
diff --git a/_includes/podcast.html b/_includes/podcast.html
new file mode 100644
index 000000000000..5b7f0e662aa0
--- /dev/null
+++ b/_includes/podcast.html
@@ -0,0 +1,32 @@
+
+
+
PyTorch Developer Podcast
+
The PyTorch Developer Podcast is a place for the PyTorch dev team to do bite sized (10-20 min) topics about all sorts of internal development topics in PyTorch.
+
+
+
diff --git a/_includes/upcoming-live-events.html b/_includes/upcoming-live-events.html
new file mode 100644
index 000000000000..51edd252f882
--- /dev/null
+++ b/_includes/upcoming-live-events.html
@@ -0,0 +1,20 @@
+Upcoming Events
+{% assign events = site.events | where: "category", "event" | sort_natural: "date" | reverse %}
+{% capture now %}{{'now' | date: '%s' | plus: 0 %}}{% endcapture %}
+{% for item in events %}
+ {% capture date %}{{item.date | date: '%s' | plus: 0 %}}{% endcapture %}
+ {% if date >= now %}
+
+ {% assign events = site.events %}
+ {% capture date %}{{item.date | date: '%s' | plus: 0 %}}{% endcapture %}
+
+
{{ item.title }}
+

+
{{ item.content | markdownify }}
+ {% if item.video %}
+ {% include live_event_video.html %}
+ {% endif %}
+
+
+ {% endif %}
+{% endfor %}
diff --git a/_includes/upcoming_episodes.html b/_includes/upcoming_episodes.html
new file mode 100644
index 000000000000..05ace9158040
--- /dev/null
+++ b/_includes/upcoming_episodes.html
@@ -0,0 +1,30 @@
+
+
+ {% assign events = site.events | where: "category", "live-stream" %}
+ {% capture now %}{{'now' | date: '%s' | plus: 0 %}}{% endcapture %}
+ {% for item in events | where: "type" == "live-stream" | sort: "date" %}
+ {% capture date %}{{item.date | date: '%s' | plus: 0 %}}{% endcapture %}
+ {% if date > now limit: 3 %}
+
+
+
{{ item.title }}
+
+ - {{ item.guest }}
+ - {{ item.company }}
+ -
+
+ - {{ item.date | date: "%m/%d/%Y" }}
+ |
+ - {{ item.time }}
+
+
+
+
+
+
+
+ {% endif %}
+ {% endfor %}
+
diff --git a/_sass/events.scss b/_sass/events.scss
new file mode 100644
index 000000000000..5bdec18d9c62
--- /dev/null
+++ b/_sass/events.scss
@@ -0,0 +1,329 @@
+.ecosystem {
+ .events-wrapper {
+ background-color: white;
+ }
+ .events {
+ padding-top: 0;
+ .event-info-container {
+ display: flex;
+ flex-flow: column;
+ }
+ .sticky-top {
+ top: 15%;
+ }
+ .event-label {
+ margin-bottom: 2rem;
+ }
+ }
+ .live-event-container {
+ display: flex;
+ @media (max-width: 767px) {
+ flex-flow: wrap;
+ }
+ }
+ .events-section {
+ max-width: 920px;
+ margin: 0 auto 0 auto;
+ padding: 0 30px 43px 30px;
+ width: 90%;
+ .event-item {
+ padding-bottom: 3rem;
+ border-bottom: 1px solid #D6D7D8;
+ h2 {
+ padding-bottom: 1rem;
+ }
+ }
+ }
+ .event-side-nav-container {
+ padding-left: 3rem;
+ ul {
+ list-style: none;
+ }
+ }
+ .live-events-section {
+ p {
+ font-size: 18px;
+ margin-top: 2rem;
+ }
+ @include small-desktop {
+ width: 100%;
+ padding-left: 5px;
+ padding-right: 5px;
+ }
+ @media (max-width: 767px) {
+ width: 100%;
+ padding-left: 5px;
+ padding-right: 5px;
+ }
+ }
+}
+.ecosystem .events.main-content {
+ padding-top: 0;
+}
+
+.events-container-fluid {
+ height: 5rem;
+ width: 100%;
+ padding-bottom: 7rem;
+ @media screen and (max-width: 767px) {
+ margin-top: 2rem;
+ }
+ @include full-nav-menu-desktop {
+ margin-left: 0;
+ }
+}
+
+.ecosystem .events.main-content .navbar {
+ padding-left: 0;
+ padding-bottom: 0;
+ padding-top: 0;
+ .nav-item {
+ cursor: pointer;
+ &:last-of-type {
+ position: relative;
+ }
+ }
+ @media (min-width: 992px) {
+ .nav-item {
+ padding: 2rem;
+ cursor: pointer;
+ }
+
+ .nav-link {
+ position: relative;
+ top: 10%;
+ transform: translateY(-50%);
+ }
+ }
+
+ .nav-select {
+ background-color: $white;
+ .nav-link {
+ color: $orange;
+ font-weight: 500;
+ }
+ }
+
+ .nav-link {
+ font-size: rem(18px);
+ color: #8c8c8c;
+ @include desktop {
+ margin-left: rem(30px);
+ }
+ &:hover {
+ color: $orange;
+ }
+ }
+
+ .events-nav-link {
+ padding-left: rem(20px);
+ padding-right: rem(20px);
+
+ @include desktop {
+ padding-left: rem(30px);
+ padding-right: rem(30px);
+ }
+ }
+
+ .events-nav {
+ flex-direction: row;
+ }
+
+ .nav-item {
+ padding-top: rem(15px);
+ padding-bottom: rem(15px);
+ @include desktop {
+ padding-bottom: 0;
+ padding-top: 2rem;
+ }
+ @include small-desktop {
+ padding-bottom: 0;
+ padding-top: 2rem;
+ }
+ @media (max-width: 990px) {
+ padding-bottom: rem(10px);
+ padding-top: 1rem;
+ }
+ }
+
+ .navbar-toggler {
+ margin-left: rem(40px);
+ }
+}
+
+.events-video-wrapper {
+ width: 100%;
+ border: 1px solid $mid_gray;
+ background-color: $light_grey;
+ height: 21rem;
+ margin-top: 2.5rem;
+ .video-container {
+ display: flex;
+ top: 12%;
+ }
+ .video-tabs {
+ display: flex;
+ }
+ .events-video-nav {
+ flex-direction: row;
+ padding-right: 0;
+ margin-bottom: 1rem;
+ .nav-item {
+ border-right: 1px solid $mid_gray;
+ border-bottom: 1px solid $mid_gray;
+ }
+ .nav-select {
+ background-color: $white;
+ border-bottom: none;
+ .nav-link {
+ color: $orange;
+ }
+ }
+ }
+ .events-nav-link {
+ text-align: center;
+ }
+ .video {
+ position: relative;
+ height: 0;
+ padding-bottom: 30%;
+ place-self: center;
+ }
+ .video-info {
+ margin-left: 3rem;
+ max-width: 45%;
+ }
+ iframe {
+ height: 100%;
+ width: 100%;
+ position: absolute;
+ }
+}
+.video-links-container {
+ border: 1px solid $mid_gray;
+ .video-links {
+ display: flex;
+ .video-link-item {
+ padding-left: 1rem;
+ list-style: none;
+ }
+ }
+}
+.episode-header-text {
+ font-size: 26px;
+ margin-bottom: 2rem;
+}
+.episode-card-row {
+ display: block;
+ @media screen and (min-width: 908px) {
+ display: flex;
+ flex-wrap: wrap;
+ margin-bottom: 2rem;
+ }
+ .episode-card.resource-card {
+ height: 14rem;
+ margin-right: 1rem;
+ margin-bottom: 1rem;
+ background-color: $light_grey;
+ border: none;
+ max-width: 31%;
+ flex: auto;
+ ul {
+ list-style: none;
+ }
+ a{
+ color: inherit;
+ }
+ .episode-body {
+ display: block;
+ position: relative;
+ top: 30px;
+ margin-left: 20px;
+ }
+
+ .episode-title {
+ margin-left: 3.2rem;
+ margin-bottom: .5rem;
+ font-size: rem(24px);
+ @include desktop {
+ margin-left: 2.5rem;
+ }
+ }
+
+ .guest-name {
+ font-weight: 500;
+ font-size: rem(20px);
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ }
+
+ .episode-info {
+ display: flex;
+ span {
+ padding-left: 5px;
+ padding-right: 5px;
+ }
+ }
+ .info-divide {
+ display: block;
+ border-bottom: 1px solid #D6D7D8;
+ margin-top: .5rem;
+ margin-bottom: .5rem;
+ }
+ .episode-poster {
+ color: $orange;
+ }
+ .episode-date-time {
+ display: flex;
+ padding-left: 0;
+ span {
+ padding-left: 5px;
+ padding-right: 5px;
+ }
+ }
+ @media screen and (max-width: 907px) {
+ max-width: 100%;
+ margin-bottom: 1.25rem;
+ }
+ }
+ .episode-card.resource-card.pytorch-resource:before {
+ content: "";
+ background-size: 32px 32px;
+ background-repeat: no-repeat;
+ display: block;
+ position: absolute;
+ height: 32px;
+ width: 32px;
+ top: 30px;
+ left: 15px;
+ @include desktop {
+ left: 30px;
+ top: 30px;
+ }
+ }
+}
+
+.podcast-container {
+ padding-left: 0;
+ @include desktop {
+ display: flex;
+ .podcast-card:not(:first-of-type) {
+ margin-left: 1rem;
+ }
+ }
+ .podcast-card {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-top: 2rem;
+ border: 1px solid #D6D7D8;
+ height: rem(140px);
+ @include animated_border_hover_state;
+ }
+ .podcast-title {
+ font-size: 24px;
+ font-weight: 400;
+ }
+
+}
diff --git a/assets/images/pytorch_developer_day_2020.png b/assets/images/pytorch_developer_day_2020.png
new file mode 100644
index 000000000000..37ba3c990c9e
Binary files /dev/null and b/assets/images/pytorch_developer_day_2020.png differ
diff --git a/assets/images/pytorch_developer_day_2021.png b/assets/images/pytorch_developer_day_2021.png
new file mode 100644
index 000000000000..fb3ef3efbd0b
Binary files /dev/null and b/assets/images/pytorch_developer_day_2021.png differ
diff --git a/assets/images/pytorch_ecosystem_day_2021.jpeg b/assets/images/pytorch_ecosystem_day_2021.jpeg
new file mode 100644
index 000000000000..65e8102426af
Binary files /dev/null and b/assets/images/pytorch_ecosystem_day_2021.jpeg differ
diff --git a/assets/images/summer_hackathon_2020.png b/assets/images/summer_hackathon_2020.png
new file mode 100644
index 000000000000..c25df2e04ef4
Binary files /dev/null and b/assets/images/summer_hackathon_2020.png differ
diff --git a/assets/main.scss b/assets/main.scss
index 029d5f173a25..71d8c3337def 100644
--- a/assets/main.scss
+++ b/assets/main.scss
@@ -34,3 +34,4 @@ $baseurl:"{{ site.baseurl }}";
@import "deep-learning";
@import "contributors";
@import "enterprise";
+@import "events";
diff --git a/events.html b/events.html
new file mode 100644
index 000000000000..53bc36ee2e49
--- /dev/null
+++ b/events.html
@@ -0,0 +1,63 @@
+---
+layout: default
+title: Events
+permalink: /events
+body-class: ecosystem
+background-class: features-background
+---
+
+
+
+
Events
+
+ Don’t miss out on our upcoming PyTorch live events. Find a complete list below.
+
+
+
+
+
+
+ {% include live_events.html %}
+ {% include live_stream.html %}
+ {% include podcast.html %}
+
+
+
+