<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Comparações Python on Python Brasil — Aprenda Python em Português</title>
    <link>https://python.dev.br/comparacoes/</link>
    <description>Recent content in Comparações Python on Python Brasil — Aprenda Python em Português</description>
    <generator>Hugo</generator>
    <language>pt-br</language>
    <atom:link href="https://python.dev.br/comparacoes/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Django vs Flask: Qual Framework Escolher? | Python Brasil</title>
      <link>https://python.dev.br/comparacoes/django-vs-flask/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/comparacoes/django-vs-flask/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Django&lt;/strong&gt; e &lt;strong&gt;Flask&lt;/strong&gt; são os dois frameworks web mais populares do ecossistema Python. Django é o &amp;ldquo;batteries included&amp;rdquo; — tudo vem pronto. Flask é o microframework — você monta como quiser. Neste comparativo, vamos te ajudar a escolher o certo para seu projeto.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tabela-comparativa&#34;&gt;Tabela Comparativa&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Aspecto&lt;/th&gt;&#xA;          &lt;th&gt;Django&lt;/th&gt;&#xA;          &lt;th&gt;Flask&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Tipo&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Full-stack&lt;/td&gt;&#xA;          &lt;td&gt;Microframework&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Filosofia&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Batteries included&lt;/td&gt;&#xA;          &lt;td&gt;Faça do seu jeito&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;ORM&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Django ORM (incluso)&lt;/td&gt;&#xA;          &lt;td&gt;SQLAlchemy (separado)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Admin&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Django Admin (incluso)&lt;/td&gt;&#xA;          &lt;td&gt;Flask-Admin (extensão)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Autenticação&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Inclusa&lt;/td&gt;&#xA;          &lt;td&gt;Flask-Login (extensão)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Migrations&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Inclusas (manage.py migrate)&lt;/td&gt;&#xA;          &lt;td&gt;Flask-Migrate/Alembic&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Templates&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Django Templates (incluso)&lt;/td&gt;&#xA;          &lt;td&gt;Jinja2 (incluso)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Curva de aprendizado&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Mais íngreme&lt;/td&gt;&#xA;          &lt;td&gt;Mais suave&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Flexibilidade&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Opinativo&lt;/td&gt;&#xA;          &lt;td&gt;Livre&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Performance&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Boa&lt;/td&gt;&#xA;          &lt;td&gt;Boa (leve vantagem)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Ideal para&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Apps completas, CMS, e-commerce&lt;/td&gt;&#xA;          &lt;td&gt;APIs, microserviços, protótipos&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Mercado no Brasil&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Muito forte&lt;/td&gt;&#xA;          &lt;td&gt;Forte&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;arquitetura-monolito-vs-microframework&#34;&gt;Arquitetura: Monolito vs Microframework&lt;/h2&gt;&#xA;&lt;h3 id=&#34;django-tudo-incluído&#34;&gt;Django: Tudo Incluído&lt;/h3&gt;&#xA;&lt;p&gt;Django segue o padrão &lt;strong&gt;MVT (Model-View-Template)&lt;/strong&gt; e vem com:&lt;/p&gt;</description>
    </item>
    <item>
      <title>FastAPI vs Django: Comparativo Completo | Python Brasil</title>
      <link>https://python.dev.br/comparacoes/fastapi-vs-django/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/comparacoes/fastapi-vs-django/</guid>
      <description>&lt;p&gt;&lt;strong&gt;FastAPI&lt;/strong&gt; e &lt;strong&gt;Django&lt;/strong&gt; representam duas gerações de frameworks web Python. Django é o veterano full-stack, maduro e completo. FastAPI é o moderno, assíncrono e focado em APIs. Neste comparativo, vamos analisar quando cada um brilha.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tabela-comparativa&#34;&gt;Tabela Comparativa&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Aspecto&lt;/th&gt;&#xA;          &lt;th&gt;FastAPI&lt;/th&gt;&#xA;          &lt;th&gt;Django&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Criado em&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;2018 (Sebastián Ramírez)&lt;/td&gt;&#xA;          &lt;td&gt;2005 (Adrian Holovaty, Simon Willison)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Tipo&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Framework de API&lt;/td&gt;&#xA;          &lt;td&gt;Full-stack web&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Async&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Nativo (ASGI)&lt;/td&gt;&#xA;          &lt;td&gt;Suporte parcial (Django 5.x)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Validação&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Pydantic (automática)&lt;/td&gt;&#xA;          &lt;td&gt;Forms/Serializers (manual)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Documentação da API&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Automática (Swagger/ReDoc)&lt;/td&gt;&#xA;          &lt;td&gt;Manual (drf-spectacular)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;ORM&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Nenhum (use SQLAlchemy, Tortoise)&lt;/td&gt;&#xA;          &lt;td&gt;Django ORM (incluso)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Admin&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Não incluso&lt;/td&gt;&#xA;          &lt;td&gt;Django Admin (incluso)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Performance&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Muito alta (~15K req/s)&lt;/td&gt;&#xA;          &lt;td&gt;Moderada (~3K req/s)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Tipagem&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Obrigatória (type hints)&lt;/td&gt;&#xA;          &lt;td&gt;Opcional&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Curva de aprendizado&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Moderada&lt;/td&gt;&#xA;          &lt;td&gt;Íngreme&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Maturidade&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Jovem (7 anos)&lt;/td&gt;&#xA;          &lt;td&gt;Maduro (20+ anos)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;abordagem-de-desenvolvimento&#34;&gt;Abordagem de Desenvolvimento&lt;/h2&gt;&#xA;&lt;h3 id=&#34;fastapi-type-hints-como-contrato&#34;&gt;FastAPI: Type Hints como Contrato&lt;/h3&gt;&#xA;&lt;p&gt;FastAPI usa &lt;a href=&#34;https://python.dev.br/glossario/type-hints/&#34;&gt;type hints&lt;/a&gt; e &lt;a href=&#34;https://python.dev.br/glossario/pydantic/&#34;&gt;Pydantic&lt;/a&gt; para validação automática, serialização e documentação:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pandas vs Polars: Comparativo Completo | Python Brasil</title>
      <link>https://python.dev.br/comparacoes/pandas-vs-polars/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/comparacoes/pandas-vs-polars/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Pandas&lt;/strong&gt; é a biblioteca de análise de dados mais popular do ecossistema Python — usada por milhões de analistas e cientistas de dados. &lt;strong&gt;Polars&lt;/strong&gt; é a alternativa moderna, escrita em Rust, que promete 10-100x mais performance. Neste comparativo, vamos analisar quando vale trocar e quando Pandas ainda é a melhor escolha.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tabela-comparativa&#34;&gt;Tabela Comparativa&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Aspecto&lt;/th&gt;&#xA;          &lt;th&gt;Pandas&lt;/th&gt;&#xA;          &lt;th&gt;Polars&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Criada em&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;2008 (Wes McKinney)&lt;/td&gt;&#xA;          &lt;td&gt;2020 (Ritchie Vink)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Linguagem base&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;C/Cython&lt;/td&gt;&#xA;          &lt;td&gt;Rust&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Performance&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Moderada&lt;/td&gt;&#xA;          &lt;td&gt;Muito alta (10-100x mais rápido)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Memória&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Alto consumo&lt;/td&gt;&#xA;          &lt;td&gt;Eficiente (Apache Arrow)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Lazy evaluation&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Não&lt;/td&gt;&#xA;          &lt;td&gt;Sim (otimiza queries automaticamente)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Multi-threading&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Limitado (GIL)&lt;/td&gt;&#xA;          &lt;td&gt;Nativo (Rust, sem GIL)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;API&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Index-based (mutable)&lt;/td&gt;&#xA;          &lt;td&gt;Expression-based (immutable)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Curva de aprendizado&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Suave (mais material)&lt;/td&gt;&#xA;          &lt;td&gt;Moderada (API diferente)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Ecossistema&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Gigantesco&lt;/td&gt;&#xA;          &lt;td&gt;Crescendo rapidamente&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Streaming&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Não (tudo em memória)&lt;/td&gt;&#xA;          &lt;td&gt;Sim (scan_csv, scan_parquet)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;sintaxe-imperativa-vs-declarativa&#34;&gt;Sintaxe: Imperativa vs Declarativa&lt;/h2&gt;&#xA;&lt;p&gt;A maior diferença de filosofia é como você expressa operações.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python vs Go: Comparativo Completo | Python Brasil</title>
      <link>https://python.dev.br/comparacoes/python-vs-go/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/comparacoes/python-vs-go/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Python&lt;/strong&gt; e &lt;strong&gt;Go&lt;/strong&gt; são duas linguagens com filosofias parecidas — simplicidade e pragmatismo — mas que resolvem problemas de formas bem diferentes. Python é a rainha da produtividade e do ecossistema de dados. Go é a rainha da performance e da concorrência. Vamos comparar.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tabela-comparativa&#34;&gt;Tabela Comparativa&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Aspecto&lt;/th&gt;&#xA;          &lt;th&gt;Python&lt;/th&gt;&#xA;          &lt;th&gt;Go&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Criada em&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;1991 (Guido van Rossum)&lt;/td&gt;&#xA;          &lt;td&gt;2009 (Google — Rob Pike, Ken Thompson)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Tipagem&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Dinâmica, forte&lt;/td&gt;&#xA;          &lt;td&gt;Estática, forte&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Compilação&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Interpretada&lt;/td&gt;&#xA;          &lt;td&gt;Compilada (binário nativo)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Performance&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Moderada&lt;/td&gt;&#xA;          &lt;td&gt;Muito alta&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Concorrência&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;asyncio, threading, multiprocessing&lt;/td&gt;&#xA;          &lt;td&gt;Goroutines (nativas, leves)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Garbage collector&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Reference counting + GC&lt;/td&gt;&#xA;          &lt;td&gt;GC com baixa latência&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Binário&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Precisa do interpretador&lt;/td&gt;&#xA;          &lt;td&gt;Binário único, sem dependências&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Uso principal&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Data science, IA, automação, backend&lt;/td&gt;&#xA;          &lt;td&gt;Backend, CLI, infraestrutura, cloud&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Curva de aprendizado&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Suave&lt;/td&gt;&#xA;          &lt;td&gt;Suave a moderada&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Genéricos&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Nativos (dinâmico)&lt;/td&gt;&#xA;          &lt;td&gt;Adicionados em Go 1.18 (2022)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;sintaxe-expressividade-vs-minimalismo&#34;&gt;Sintaxe: Expressividade vs Minimalismo&lt;/h2&gt;&#xA;&lt;p&gt;Python valoriza expressividade e múltiplas formas de resolver problemas. Go valoriza ter &lt;strong&gt;uma forma canônica&lt;/strong&gt; de fazer cada coisa — sem mágica.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python vs Java: Comparativo Completo | Python Brasil</title>
      <link>https://python.dev.br/comparacoes/python-vs-java/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/comparacoes/python-vs-java/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Python&lt;/strong&gt; e &lt;strong&gt;Java&lt;/strong&gt; são duas das linguagens mais populares do mundo, mas com filosofias bem diferentes. Python aposta na simplicidade e produtividade. Java aposta em robustez e tipagem estática. Neste comparativo, vamos analisar cada aspecto para te ajudar a escolher.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tabela-comparativa&#34;&gt;Tabela Comparativa&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Aspecto&lt;/th&gt;&#xA;          &lt;th&gt;Python&lt;/th&gt;&#xA;          &lt;th&gt;Java&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Criada em&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;1991 (Guido van Rossum)&lt;/td&gt;&#xA;          &lt;td&gt;1995 (James Gosling, Sun)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Tipagem&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Dinâmica, forte&lt;/td&gt;&#xA;          &lt;td&gt;Estática, forte&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Paradigma&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Multiparadigma&lt;/td&gt;&#xA;          &lt;td&gt;Orientada a objetos (principal)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Compilação&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Interpretada&lt;/td&gt;&#xA;          &lt;td&gt;Compilada para bytecode (JVM)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Performance&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Moderada&lt;/td&gt;&#xA;          &lt;td&gt;Alta (JIT da JVM)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Verbosidade&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Baixa (concisa)&lt;/td&gt;&#xA;          &lt;td&gt;Alta (verbosa)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Gerenciamento de memória&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Garbage collector automático&lt;/td&gt;&#xA;          &lt;td&gt;Garbage collector sofisticado (G1, ZGC)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Uso principal&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Data science, IA, automação, backend&lt;/td&gt;&#xA;          &lt;td&gt;Enterprise, Android, backend corporativo&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Gerenciador de pacotes&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;pip, uv, Poetry&lt;/td&gt;&#xA;          &lt;td&gt;Maven, Gradle&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;IDE dominante&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;VS Code, PyCharm&lt;/td&gt;&#xA;          &lt;td&gt;IntelliJ IDEA, Eclipse&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;sintaxe-concisão-vs-explicitação&#34;&gt;Sintaxe: Concisão vs Explicitação&lt;/h2&gt;&#xA;&lt;p&gt;A diferença mais visível é a quantidade de código necessária para fazer a mesma coisa.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python vs JavaScript: Comparativo Completo | Python Brasil</title>
      <link>https://python.dev.br/comparacoes/python-vs-javascript/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/comparacoes/python-vs-javascript/</guid>
      <description>&lt;p&gt;Escolher entre &lt;strong&gt;Python&lt;/strong&gt; e &lt;strong&gt;JavaScript&lt;/strong&gt; é uma das decisões mais comuns para quem está entrando na programação — ou até para quem já trabalha na área e quer expandir suas habilidades. As duas linguagens dominam rankings como o TIOBE e o Stack Overflow Survey, mas cada uma brilha em cenários diferentes.&lt;/p&gt;&#xA;&lt;p&gt;Neste comparativo, vamos analisar as duas linguagens lado a lado, com exemplos de código, dados do mercado brasileiro e recomendações práticas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python vs Julia: Comparativo Completo | Python Brasil</title>
      <link>https://python.dev.br/comparacoes/python-vs-julia/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/comparacoes/python-vs-julia/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Python&lt;/strong&gt; é a linguagem dominante em ciência de dados e IA. &lt;strong&gt;Julia&lt;/strong&gt; foi criada para ser &amp;ldquo;tão rápida quanto C e tão fácil quanto Python&amp;rdquo;. Neste comparativo, vamos explorar quando Julia supera Python — e quando Python continua sendo a melhor escolha.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tabela-comparativa&#34;&gt;Tabela Comparativa&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Aspecto&lt;/th&gt;&#xA;          &lt;th&gt;Python&lt;/th&gt;&#xA;          &lt;th&gt;Julia&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Criada em&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;1991 (Guido van Rossum)&lt;/td&gt;&#xA;          &lt;td&gt;2012 (Jeff Bezanson et al., MIT)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Tipagem&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Dinâmica, forte&lt;/td&gt;&#xA;          &lt;td&gt;Dinâmica com tipagem opcional, forte&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Compilação&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Interpretada (CPython)&lt;/td&gt;&#xA;          &lt;td&gt;JIT compilada (LLVM)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Performance&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Moderada (compensada por C/Rust)&lt;/td&gt;&#xA;          &lt;td&gt;Muito alta (próxima de C)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Paradigma&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Multiparadigma&lt;/td&gt;&#xA;          &lt;td&gt;Multiple dispatch&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Computação numérica&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;NumPy, SciPy (wrappers C/Fortran)&lt;/td&gt;&#xA;          &lt;td&gt;Nativa — arrays e álgebra linear embutidos&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Machine Learning&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;PyTorch, TensorFlow, scikit-learn&lt;/td&gt;&#xA;          &lt;td&gt;Flux.jl, MLJ.jl&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Ecossistema&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Gigantesco (400K+ pacotes PyPI)&lt;/td&gt;&#xA;          &lt;td&gt;Crescendo (10K+ pacotes)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Mercado de trabalho&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Enorme&lt;/td&gt;&#xA;          &lt;td&gt;Muito nicho&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Interop com Python&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;N/A&lt;/td&gt;&#xA;          &lt;td&gt;PyCall.jl (usa libs Python diretamente)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;sintaxe-semelhante-mas-diferente&#34;&gt;Sintaxe: Semelhante mas Diferente&lt;/h2&gt;&#xA;&lt;p&gt;Julia e Python compartilham uma sintaxe acessível, mas Julia foi projetada para computação numérica de alto desempenho.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python vs R: Comparativo Completo | Python Brasil</title>
      <link>https://python.dev.br/comparacoes/python-vs-r/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/comparacoes/python-vs-r/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Python&lt;/strong&gt; e &lt;strong&gt;R&lt;/strong&gt; disputam o trono da ciência de dados há mais de uma década. Python é a linguagem generalista que dominou o ML e a engenharia de dados. R é a linguagem criada por estatísticos, para estatísticos. Neste comparativo, vamos te ajudar a escolher — ou entender quando usar cada uma.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tabela-comparativa&#34;&gt;Tabela Comparativa&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Aspecto&lt;/th&gt;&#xA;          &lt;th&gt;Python&lt;/th&gt;&#xA;          &lt;th&gt;R&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Criada em&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;1991 (Guido van Rossum)&lt;/td&gt;&#xA;          &lt;td&gt;1993 (Ross Ihaka e Robert Gentleman)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Propósito&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Linguagem de propósito geral&lt;/td&gt;&#xA;          &lt;td&gt;Linguagem para computação estatística&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Tipagem&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Dinâmica, forte&lt;/td&gt;&#xA;          &lt;td&gt;Dinâmica, forte&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Paradigma&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Multiparadigma&lt;/td&gt;&#xA;          &lt;td&gt;Funcional e vetorial&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Ecossistema de dados&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Pandas, NumPy, Polars, scikit-learn&lt;/td&gt;&#xA;          &lt;td&gt;tidyverse, dplyr, ggplot2, caret&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Visualização&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Matplotlib, Seaborn, Plotly&lt;/td&gt;&#xA;          &lt;td&gt;ggplot2 (padrão-ouro)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Machine Learning&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;PyTorch, TensorFlow, scikit-learn&lt;/td&gt;&#xA;          &lt;td&gt;tidymodels, caret, mlr3&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;IDE principal&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;VS Code, Jupyter, PyCharm&lt;/td&gt;&#xA;          &lt;td&gt;RStudio&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Produção/Deploy&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Excelente (FastAPI, Docker, cloud)&lt;/td&gt;&#xA;          &lt;td&gt;Limitado (Shiny, Plumber)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Mercado no Brasil&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Muito amplo&lt;/td&gt;&#xA;          &lt;td&gt;Nicho (academia, pesquisa, saúde)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;sintaxe-propósito-geral-vs-estatística-nativa&#34;&gt;Sintaxe: Propósito Geral vs Estatística Nativa&lt;/h2&gt;&#xA;&lt;p&gt;Python é uma linguagem de programação com bibliotecas de dados. R é uma linguagem de dados com capacidades de programação.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python vs Ruby: Comparativo Completo | Python Brasil</title>
      <link>https://python.dev.br/comparacoes/python-vs-ruby/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/comparacoes/python-vs-ruby/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Python&lt;/strong&gt; e &lt;strong&gt;Ruby&lt;/strong&gt; são duas linguagens dinâmicas criadas na mesma época, ambas focadas em produtividade e felicidade do programador. A rivalidade Django vs Rails marcou uma geração inteira de desenvolvedores web. Mas em 2026, as duas linguagens seguiram caminhos bem diferentes.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tabela-comparativa&#34;&gt;Tabela Comparativa&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Aspecto&lt;/th&gt;&#xA;          &lt;th&gt;Python&lt;/th&gt;&#xA;          &lt;th&gt;Ruby&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Criada em&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;1991 (Guido van Rossum)&lt;/td&gt;&#xA;          &lt;td&gt;1995 (Yukihiro &amp;ldquo;Matz&amp;rdquo; Matsumoto)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Filosofia&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&amp;ldquo;Uma maneira óbvia de fazer&amp;rdquo;&lt;/td&gt;&#xA;          &lt;td&gt;&amp;ldquo;Múltiplas maneiras de fazer&amp;rdquo;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Tipagem&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Dinâmica, forte&lt;/td&gt;&#xA;          &lt;td&gt;Dinâmica, forte&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Paradigma&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Multiparadigma&lt;/td&gt;&#xA;          &lt;td&gt;Orientada a objetos pura&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Performance&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Moderada&lt;/td&gt;&#xA;          &lt;td&gt;Moderada (Ruby 3.x com YJIT melhorou)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Framework web principal&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Django, FastAPI&lt;/td&gt;&#xA;          &lt;td&gt;Ruby on Rails&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Uso principal&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Data science, IA, backend, automação&lt;/td&gt;&#xA;          &lt;td&gt;Web apps, startups, DevOps&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Gerenciador de pacotes&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;pip, uv, Poetry&lt;/td&gt;&#xA;          &lt;td&gt;gem, Bundler&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Comunidade no Brasil&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Grande e crescendo&lt;/td&gt;&#xA;          &lt;td&gt;Pequena mas apaixonada&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Metaprogramação&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Possível mas não incentivada&lt;/td&gt;&#xA;          &lt;td&gt;Central na linguagem&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;sintaxe-explícito-vs-elegante&#34;&gt;Sintaxe: Explícito vs Elegante&lt;/h2&gt;&#xA;&lt;p&gt;Python segue o princípio &amp;ldquo;explicit is better than implicit&amp;rdquo;. Ruby permite mais &amp;ldquo;mágica&amp;rdquo; e prioriza que o código leia como prosa.&lt;/p&gt;</description>
    </item>
    <item>
      <title>PyTorch vs TensorFlow: Comparativo Completo | Python Brasil</title>
      <link>https://python.dev.br/comparacoes/pytorch-vs-tensorflow/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://python.dev.br/comparacoes/pytorch-vs-tensorflow/</guid>
      <description>&lt;p&gt;&lt;strong&gt;PyTorch&lt;/strong&gt; e &lt;strong&gt;TensorFlow&lt;/strong&gt; são os dois frameworks de deep learning mais importantes do mundo. PyTorch domina a pesquisa acadêmica. TensorFlow domina a produção. Mas essa divisão está mudando. Neste comparativo, vamos analisar o estado dos dois em 2026.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tabela-comparativa&#34;&gt;Tabela Comparativa&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Aspecto&lt;/th&gt;&#xA;          &lt;th&gt;PyTorch&lt;/th&gt;&#xA;          &lt;th&gt;TensorFlow&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Criado por&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Meta (Facebook AI Research)&lt;/td&gt;&#xA;          &lt;td&gt;Google Brain&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Lançado em&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;2016&lt;/td&gt;&#xA;          &lt;td&gt;2015&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Paradigma&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Eager execution (dinâmico)&lt;/td&gt;&#xA;          &lt;td&gt;Graph execution (estático) + eager&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;API principal&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;PyTorch nativo&lt;/td&gt;&#xA;          &lt;td&gt;Keras (integrado)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Debugging&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Natural (print, pdb)&lt;/td&gt;&#xA;          &lt;td&gt;Mais difícil (graph mode)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Pesquisa&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Dominante (80%+ dos papers)&lt;/td&gt;&#xA;          &lt;td&gt;Minoritário&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Produção&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;TorchServe, ONNX&lt;/td&gt;&#xA;          &lt;td&gt;TF Serving, TFLite, TF.js&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Mobile/Edge&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;PyTorch Mobile, ExecuTorch&lt;/td&gt;&#xA;          &lt;td&gt;TensorFlow Lite&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Distribuído&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;DistributedDataParallel&lt;/td&gt;&#xA;          &lt;td&gt;tf.distribute.Strategy&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Ecossistema NLP&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Hugging Face (nativo)&lt;/td&gt;&#xA;          &lt;td&gt;Hugging Face (suportado)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Curva de aprendizado&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Mais suave (pythônico)&lt;/td&gt;&#xA;          &lt;td&gt;Moderada&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;definindo-um-modelo&#34;&gt;Definindo um Modelo&lt;/h2&gt;&#xA;&lt;h3 id=&#34;pytorch-pythônico-e-direto&#34;&gt;PyTorch: Pythônico e Direto&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;torch&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;torch.nn&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;nn&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;ClassificadorImagem&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Module&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;fm&#34;&gt;__init__&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;num_classes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;int&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nb&#34;&gt;super&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;fm&#34;&gt;__init__&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;features&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Sequential&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Conv2d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;32&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;kernel_size&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;padding&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;BatchNorm2d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;32&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ReLU&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;MaxPool2d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Conv2d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;32&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;64&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;kernel_size&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;padding&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;BatchNorm2d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;64&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ReLU&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;MaxPool2d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Conv2d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;64&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;128&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;kernel_size&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;padding&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;BatchNorm2d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;128&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ReLU&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;AdaptiveAvgPool2d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;classifier&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Sequential&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Flatten&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Linear&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;128&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;256&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ReLU&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Dropout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;0.5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Linear&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;256&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;num_classes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;forward&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;features&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;classifier&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;x&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;modelo&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ClassificadorImagem&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;num_classes&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Parâmetros: &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;sum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;p&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;numel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;p&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;modelo&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;parameters&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;())&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;tensorflowkeras-declarativo-e-camadas&#34;&gt;TensorFlow/Keras: Declarativo e Camadas&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;tensorflow&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;tf&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;tensorflow&lt;/span&gt; &lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;keras&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;keras&lt;/span&gt; &lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;modelo&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;keras&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Sequential&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;([&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Conv2D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;32&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;padding&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;same&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;activation&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;relu&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;input_shape&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;32&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;32&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;BatchNormalization&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;MaxPooling2D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Conv2D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;64&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;padding&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;same&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;activation&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;relu&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;BatchNormalization&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;MaxPooling2D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Conv2D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;128&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;padding&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;same&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;activation&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;relu&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;BatchNormalization&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;GlobalAveragePooling2D&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Dense&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;256&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;activation&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;relu&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Dropout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;0.5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;layers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Dense&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;modelo&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;summary&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Keras é mais conciso para modelos sequenciais. PyTorch com &lt;code&gt;nn.Module&lt;/code&gt; dá mais controle no &lt;code&gt;forward()&lt;/code&gt; — você pode adicionar lógica condicional, loops e debugging facilmente.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
