Spaces:
Running
Running
File size: 9,491 Bytes
cde5b52 a2f6bac 5080299 cde5b52 5080299 cde5b52 11458a1 cde5b52 a2f6bac cde5b52 a2f6bac 5080299 cde5b52 5080299 cde5b52 94f76c3 5080299 94f76c3 cde5b52 94f76c3 cde5b52 a2f6bac cde5b52 23b4888 cde5b52 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 |
import gradio as gr
from typing import List
from datasets import load_dataset
class Space:
def __init__(self, title, id):
self.title = title
self.id = id
class News:
def __init__(self, title, link):
self.title = title
self.link = link
class Category:
def __init__(self, category_id, title, description, news: List[News] = None, spaces=None):
if news is None:
news = []
if spaces is None:
spaces = []
self.category_id = category_id
self.title = title
self.description = description
self.news = news
self.spaces = spaces
client_side = Category(
category_id="client_side",
title="Client Side Libraries π€",
description="""
## These are client side libraries to easily interact or run training with models, datasets and Spaces on Hugging Face Hub π€
<br>
""",
news=[
News(
title="We have launched huggingface.js to let developers interact with models on Hub in an API-like mannerπ",
link="https://github.com/huggingface/huggingface.js"
),
News(
title="Xenova released transformers.js, to let you run powerful transformers easily inside browsers π¦Ύ",
link="https://github.com/xenova/transformers.js"
),
News(
title="Elixir π€ Hugging Face with Bumblebee",
link="https://news.livebook.dev/announcing-bumblebee-gpt2-stable-diffusion-and-more-in-elixir-3Op73O"
)
],
)
documentation = Category(
category_id="documentation",
title="Documentation π",
description="""
## These are our documentation efforts and blogs specifically targeted for software developers to get them started with building machine learning π¦Ύ
<br>
""",
news=[
News(
title="Tasks: Wikipedia of machine learning to easily find the model you need for your use case and get started with building! π ",
link="https://www.technologyreview.com/2023/03/22/1070167/these-news-tool-let-you-see-for-yourself-how-biased-ai-image-models-are/"
),
News(
title="huggingface.js Documentation",
link="https://www.wired.com/story/welfare-state-algorithms/"
),
News(
title="Docker and Hugging Face Partner to Democratize AI",
link="https://www.docker.com/blog/docker-and-hugging-face-partner-to-democratize-ai/"
),
News(
title="From GPT2 to Stable Diffusion: Hugging Face arrives to the Elixir community",
link="https://huggingface.co/blog/elixir-bumblebee"
),
News(
title="Swift π§¨Diffusers: Fast Stable Diffusion for Mac",
link="https://huggingface.co/blog/fast-mac-diffusers"
),
News(
title="Using Stable Diffusion with Core ML on Apple Silicon",
link="https://huggingface.co/blog/diffusers-coreml"
),
News(
title="Tutorial: How Hugging Face achieved a 2x performance boost for Question Answering with DistilBERT in Node.js",
link="https://blog.tensorflow.org/2020/05/how-hugging-face-achieved-2x-performance-boost-question-answering.html"
)
],
)
use_cases = Category(
category_id="use_cases",
title="Use Cases π",
description="""
## These are resources compiled to demonstrate various use cases across different niches in software development. π¨βπ»
<br>
""",
news=[
News(
title="AI for Game Development: Creating a Farming Game in 5 Days. Part 1",
link="https://huggingface.co/blog/ml-for-games-1"
),
News(
title="AI for Game Development: Creating a Farming Game in 5 Days. Part 2",
link="https://huggingface.co/blog/ml-for-games-2"
),
News(
title="3D Asset Generation: AI for Game Development #3",
link="https://huggingface.co/blog/ml-for-games-3"
),
News(
title="Supercharged Customer Service with Machine Learning",
link="https://huggingface.co/blog/supercharge-customer-service-with-machine-learning"
)
],
)
cloud = Category(
category_id="cloud",
title="βοΈ Cloud Deployment",
description="""
## This category includes resources on how to deploy machine learning models to cloud using various providers βοΈ
<br>
""",
news=[
News(
title="Deploying π€ ViT on Kubernetes with TF Serving",
link="https://huggingface.co/blog/deploy-tfserving-kubernetes"
),
News(
title="An Overview of Inference Solutions on Hugging Face",
link="https://huggingface.co/blog/inference-update"
),
News(
title="Hugging Face Collaborates with Microsoft to Launch Hugging Face Endpoints on Azure",
link="https://huggingface.co/blog/hugging-face-endpoints-on-azure"
),
News(
title="Workshop: Getting started with Amazon Sagemaker Train a Hugging Face Transformers and deploy it",
link="https://www.youtube.com/watch?v=80ix-IyNnQI&ab_channel=AmazonWebServices"
),
News(
title="Getting Started with Hugging Face on AWS: Series of video tutorials",
link="https://www.youtube.com/watch?v=80ix-IyNnQI&ab_channel=AmazonWebServices"
),
],
)
categories = [client_side, documentation, cloud, use_cases]
def news_card(news):
with gr.Box():
with gr.Row(elem_id="news-row"):
gr.Markdown(f"{news.title}")
button = gr.Button(elem_id="article-button", value="Read more π")
button.click(fn=None, _js=f"() => window.open('{news.link}')")
def space_card(space):
with gr.Box(elem_id="space-card"):
with gr.Row(elem_id="news-row"):
gr.Markdown(f"{space.title}")
button = gr.Button(elem_id="article-button", value="View π")
button.click(fn=None, _js=f"() => window.open('https://hf.space/{space.id}')")
def category_tab(category):
with gr.Tab(label=category.title, elem_id="news-tab"):
with gr.Column():
gr.Markdown(category.description, elem_id="margin-top")
with gr.Column():
[news_card(x) for x in category.news]
# with gr.Tab(label="Hugging Face Projects"):
# gr.Markdown("....")
#with gr.Tab(label="Spaces"):
# with gr.Row(elem_id="spaces-flex"):
# [space_card(x) for x in category.spaces]
# with gr.Tab(label="Models - Coming Soon!"):
# gr.Markdown(elem_id="margin-top", value="#### Check back soon for featured models π€")
# with gr.Tab(label="Datasets - Coming Soon!"):
# gr.Markdown(elem_id="margin-top", value="#### Check back soon for featured datasets π€")
with gr.Blocks(css="#margin-top {margin-top: 15px} #center {text-align: center;} #news-tab {padding: 15px;} #news-tab h3 {margin: 0px; text-align: center;} #news-tab p {margin: 0px;} #article-button {flex-grow: initial;} #news-row {align-items: center;} #spaces-flex {flex-wrap: wrap; justify-content: space-around;} #space-card { display: flex; min-width: calc(90% / 3); max-width:calc(100% / 3); box-sizing: border-box;} #event-tabs {margin-top: 0px;} #spaces-flex > #paper-tile {min-width: 30%; max-width: 30%;}") as demo:
with gr.Row(elem_id="center"):
gr.Markdown("# Hugging Face for Software Developers π€ π π§βπ»")
gr.Markdown("""
At Hugging Face, we are committed to democratize cutting-edge of machine learning for everyone. This page is dedicated to highlighting tools, documentation and projects β inside and outside Hugging Face β tailored to get software developers build with machine learning.
""")
with gr.Accordion(label="Events", open=False):
with gr.Tab(label="Upcoming Events"):
with gr.Row(elem_id="margin-top"):
gr.Markdown("We'll be announcing more events soon!")
with gr.Tab(label="Past Events"):
with gr.Row(elem_id="margin-top"):
with gr.Column(scale=1):
with gr.Tabs(elem_id="event-tabs"):
with gr.Tab("About the Event"):
gr.Markdown("""
We have done a series of workshops for building, deploying and scaling models using AWS SageMaker.
You can rewatch them [here](https://www.youtube.com/watch?v=pYqjCzoyWyo&ab_channel=HuggingFace).
**Date:** October 26 2021 **Location:** YouTube
""")
with gr.Accordion(label="Visit us over on the Hugging Face Discord!", open=False):
gr.Markdown("""
Follow these steps to join the discussion:
1. Go to [hf.co/join/discord](https://hf.co/join/discord) to join the Discord server.
2. Once you've registered, go to the `#role-assignment` channel.
3. Select the categories of your interest. Open Source ML is one that has different areas of machine learning.
""", elem_id="margin-top")
gr.Markdown("""
### What can you achieve as a developer using Machine Learning?
Following are different categories of interests that include tools and documentation for software developers.
""")
with gr.Column():
[category_tab(x) for x in categories]
demo.launch() |