並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 311件

新着順 人気順

dataclassesの検索結果41 - 80 件 / 311件

  • Pythonで中~大規模開発をする際のススメ5選 - Qiita

    はじめに Pythonはその構文の簡単さやスクリプト言語特有の実行のしやすさから人気を博している言語だ。 私は最近この「Python」を使って業務改善をする仕事をしているのだが、改善の規模や複雑度がそれなりに大きいプロジェクトに出会い、従来のように適当にPythonを打って使っていたところ非常に辛い思いをすることになり、中~大規模開発向けの方法を模索する事になった。 そこで、模索した結果辿り着いた、Pythonにおける中~大規模開発を行う際の、個人的なおススメ方法を共有していきたいと思う。 1.Pythonを静的型付けで開発する 数十行程度のスクリプトを作る時ならともかく、実際の業務に使うようなスクリプトを書いたり、ましてやアプリ開発までしようとすると、どうしても動的型付けのデメリットであるバグの多さ/発見しづらさが目立ってしまう。そこでまずJavaScriptにおけるTypeScript

      Pythonで中~大規模開発をする際のススメ5選 - Qiita
    • 「Clean Architectures in Python」を読み解いてクリーンアーキテクチャを具体的に理解する

      はじめに ソフトウェアアーキテクチャーの一種として、クリーンアーキテクチャがあります。クリーンアーキテクチャは、Robert C. Martin氏(「ボブおじさん」と呼ばれているらしい)が提唱したもので、以下のブログの説明が有名なようです。 私もこのブログの内容をざっと読んでみたのですが、具体的にはどんな実装になるのかがさっぱりわかりませんでした😇。そこで、いつも利用しているPythonでの実装例を探してみたところ、「Clean Architectures in Python」という英語の書籍を見つけました。以下のページから無料で閲覧できます。 この書籍では、物件情報を閲覧するためのアプリをPythonで実装することで、クリーンアーキテクチャの実例やメリットなどを説明しています。また、テスト駆動開発、エラー処理、本番環境へのデプロイなど、実業務における開発に役立ちそうな情報も記載されてい

        「Clean Architectures in Python」を読み解いてクリーンアーキテクチャを具体的に理解する
      • Python業務歴1年目から5年目でコードはこう変わった - Qiita

        class DBClient: PATH = 'hoge/fuga' @classmethod def insert(cls, recs): for rec in recs: # ここでは仮でprintするだけとする print(f"PATH: {cls.PATH}, name: {rec['name']}, age: {rec['age']}") records = [ {"name": "Taro", "age": 20}, {"name": "Jiro", "age": 18}, {"name": "Saburo", "age": 12} ] DBClient.insert(records) import dataclasses from typing import Final @dataclasses.dataclass class Record: name: str age: i

          Python業務歴1年目から5年目でコードはこう変わった - Qiita
        • Sphinx-2.4 で進化した型機能を使おう - Qiita

          先ほど Sphinx-2.4.0 をリリースしました。 Sphinx は 2ヶ月ごとの定期リリースを目指しているので、大体予定通りのリリースです。 2.4.0 では autodoc まわりの機能が大きく改善されました。この記事ではその改善点についてまとめたいと思います。 変数アノテーションへの対応 autodoc: Support type annotations for variables #7051: autodoc: Support instance variables without defaults (PEP-526) これまで、コード内の変数アノテーションはドキュメント化されていなかったのですが、2.4 からはドキュメントに出力されるようになりました。 いまや型情報は規模の大きいプログラムを書くのに欠かせない情報となっています。型情報をアノテーションすることは、あなたと開発チー

            Sphinx-2.4 で進化した型機能を使おう - Qiita
          • ライブラリ: dataclasses

            今回は Python 3.7 で標準ライブラリに追加された dataclasses について見ていきたいと思います。 目次 dataclasses とは dataclasses の使い方 dataclasses の使いどころ dataclasses とは dataclasses は、独自のクラスを定義するときに定型的な特殊メソッド( special methods )( __init__() 等)の記述を省略できる機能を提供するモジュールです。 Python 3.7 から標準ライブラリとして Python 本体に同梱されるようになりました。 代表的な機能は次の 2 つです。 dataclasses.dataclass: クラスのデコレータ。対象のクラスのクラス変数をもとに特殊メソッドを追加する。 dataclasses.field: クラス変数に使う。 dataclass とあわせて使うこ

              ライブラリ: dataclasses
            • Pythonで並列処理するコードの雛形(進捗表示つき) - Qiita

              Pythonで並列処理するときのコードの雛形です。タスクを何件処理したかの進捗も表示します。自身の備忘録用に投稿しておきます import dataclasses import logging import random import sys import threading import time from concurrent.futures import ThreadPoolExecutor from typing import List # ログ設定 logger = logging.getLogger() logger.setLevel(logging.INFO) log_format = logging.Formatter("%(asctime)s [%(levelname)8s] %(message)s") # 標準出力へのハンドラ stdout_handler = logg

                Pythonで並列処理するコードの雛形(進捗表示つき) - Qiita
              • そのif文、Enumにしてみませんか。 - mizzsugar’s blog

                これは、Python Advent Calendar 17日目の記事です。 Python Advent Calendar 2019 - Qiita この記事では、私が好きな標準モジュールのうちの一つenumモジュールの基本的な使い方と enumモジュールを使ってリファクタリングする例を紹介します。 enumモジュールとは 列挙型クラスをサポートします。 列挙型とは Pythonのドキュメントにはこう書かれています。 列挙型は、一意の定数値に束縛された識別名 (メンバー) の集合です。列挙型の中でメンバーの同一性を比較でき、列挙型自身でイテレートが可能です。 https://docs.python.org/ja/3.8/library/enum.html enum.Enumを使用した例 例えば、血液型を表すクラスがあるとします。 血液型はA, B, O, ABの4種類から成り立っています。

                  そのif文、Enumにしてみませんか。 - mizzsugar’s blog
                • はじめての自然言語処理 ELYZA 日本語 Llama 2 指示応答モデルのファインチューニングと vLLM での推論 | オブジェクトの広場

                  今回は Elyza さんの日本語 Llama 2 指示応答モデルをファインチューニングし、vLLM にデプロイして高速に推論してみます。70 億パラメータモデルならギリギリ Tesla T4 x 1 の構成でも float16 で動かせるかと思ったのですが、どうだったでしょうか。vLLM には OpenAI 互換の API インタフェースも備えているので、ついでに LangChain からも接続してみたり。 1. はじめに 今回は Elyza さんが公開されている大規模指示応答言語モデルである、ELYZA-japanese-Llama-2-7b-fast-instruct1 をファインチューニングして vLLM で推論してみます。 そんな訳で今回あまり書くことがなく、動かし方だけサラっと書いて「動きましたー。では良いお年を~。」で締めることにします。 しかし、時代感覚無視の隔月連載でネタを

                    はじめての自然言語処理 ELYZA 日本語 Llama 2 指示応答モデルのファインチューニングと vLLM での推論 | オブジェクトの広場
                  • [python,AWS]RSSをサーバーレスに自動取得してDiscordに送ってみる

                    はじめに 生まれながらにサーバーレスなRSSリーダーを自作したい欲求があったので、自作しました 以下を試しました Lambdaでスクレイピング、Discordにwebhookで投稿 VSCode Remote Containerで開発 EventbridgeによるLambdaの定期実行 Lambdaをコンテナで動かす Systems ManagerパラメータストアとLambdaの連携 成果物 登録しておいたサイトのRSSが1時間おきに自動取得され、リンクとタイトルがDiscordに投稿されます 構成図 LambdaがRSS情報を取得し、webhookを利用してDiscordに通知します LambdaはEventbridgeにより1時間おきに自動実行されます RSS取得先URLはSystems Managerパラメータストアに保存します URLの追加変更はデプロイを介さず可能です Lambd

                      [python,AWS]RSSをサーバーレスに自動取得してDiscordに送ってみる
                    • Evernoteのノートを画像も含めNotionへインポート - OITA: Oika's Information Technological Activities

                      年も明けたので、Evernoteを卒業します。 Webクリップにもメモにも使えて、できるだけ無料か買い切りで使えて、すぐにサービス終了してしまわなさそうなものを条件として探すと、移行先はほぼNotion一択になるかなぁと思いました。 https://www.notion.so/ Notionには公式でEvernoteからのインポート機能があるが、Webクリップや画像のインポートには対応していない。 それ自体はまあ諦めがつくものの、致命的なのは、インポート中にそういうインポートできないノートがあると、コンソールにエラーを吐き捨てて静かに処理を中止してしまうこと。 エラーとなったノートの特定も容易ではない。 この時点でちょっとNotion自体に不安も生じるところではあるが、、まあちょっと諦めずに使ってみることにします。 やること Evernoteのノートブック単位で、ノートをNotionに一括

                        Evernoteのノートを画像も含めNotionへインポート - OITA: Oika's Information Technological Activities
                      • ChatGPT時代に必要かも!? Pythonで実行するファイルパース(PowerPoint編) | DevelopersIO

                        こんちには。 データアナリティクス事業本部 インテグレーション部 機械学習チームの中村です。 今回は話題のChatGPTにコンテキストを与える際に必要となるファイルパース処理について見ていきたいと思います。 PowerPointに焦点を絞ってみていきます。既存のライブラリ内の実装も確認していきます。 先行事例の実装 先行事例の実装として、よく話題となる以下のライブラリを見ていきます。 (LlamaIndexとLlamaHubはほぼ同じですが、parserとしては片方にしかないものもあるため) LlamaIndex https://github.com/jerryjliu/llama_index https://gpt-index.readthedocs.io/en/latest/index.html LlamaHub https://github.com/emptycrown/llama-

                          ChatGPT時代に必要かも!? Pythonで実行するファイルパース(PowerPoint編) | DevelopersIO
                        • 現場のPython──Webシステム開発から、機械学習・データ分析まで

                          2024年9月12日紙版発売 株式会社ビープラウド 監修,altnight,石上晋,delhi09,鈴木たかのり,斎藤努 著 A5判/384ページ 定価3,520円(本体3,200円+税10%) ISBN 978-4-297-14401-2 Gihyo Direct Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Amazon Kindle honto この本の概要 『WEB+DB PRESS』の人気連載が待望の書籍化です。Webシステム開発から機械学習・データ分析まで,現場で使えるPythonのノウハウが1冊にまとまっています。取り上げる話題は,環境構築,コード品質,テスト,構造化ログ,リリース管理,Django,Django REST framework,GraphQL,Fast API,Django ORM,データサイエンスプログラムの品質,データ分析レポー

                            現場のPython──Webシステム開発から、機械学習・データ分析まで
                          • はじめての自然言語処理 Transformer 系モデルの推論高速化の検証 | オブジェクトの広場

                            今回は Transformer 系のモデル、具体的には BERT, T5, GPT の推論を高速化してみます。高速化手法として FasterTransformer, Torch-TensorRT, AWS Neuron を用い、素 の transfomers に比べ、どの程度速くなるか(ならないか)、利点・欠点を確認してみましょう。 1. はじめに 今回は Transformer 系のモデル、具体的には BERT, T5, GPT の推論を様々な技術を使って高速化してみます。 高速化の元ネタは Hugging Face の transformers1 縛りとして、素の transformers で推論する場合に比べ、 どの程度速くなるか(ならないか)見てみましょう。 推論を高速化する技術としては FasterTransfomer2, Torch-TensorRT3, AWS Neuron(

                              はじめての自然言語処理 Transformer 系モデルの推論高速化の検証 | オブジェクトの広場
                            • 子問題に連続変数が現れる問題における列生成法的アプローチ - Insight Edge Tech Blog

                              $\def\R{{\mathbb R}}$ $\def\N{{\mathbb N}}$ $\def\B{\{0, 1\}}$ Insight Edgeのデータサイエンティストのki_ieです。今日は最近勉強した数理最適化関連の技術を紹介します。 はじめに 本記事では、混合整数計画(MIP)問題に対する列生成法の発展的な使い方を紹介します。列生成法は巨大な線形計画(LP)問題を解くための厳密解法です。列生成法の有名な応用先として、多数の子問題と少数の子問題をまたぐ制約とに分解できるMIP問題のヒューリスティック解法があります。本記事では、このヒューリスティック解法を典型的なユースケースから少し拡張して利用する(具体的には、子問題に連続変数が登場するような場合でも利用できるように拡張する)方法を考えます。 本記事の構成は以下の通りです。 列生成法 : 列生成法について簡単に説明します。 列生成

                                子問題に連続変数が現れる問題における列生成法的アプローチ - Insight Edge Tech Blog
                              • マルウェア解析は IDAPython にシュッとやらせよう - NFLabs. エンジニアブログ

                                tl;dr; IDAPython の日本語チートシートできました!! チートシートを参考にするだけで、CTFの問題もシュッと解けます! Emotet の内部で使われている難読化文字列もシュッと戻せます!! Github にハンズオン用の検体とサンプルコード置いたから手を動かしてみたい方はぜひ試してね!!! https://github.com/minanokawari1124/idapython_exercise はじめに NFLabs. のソリューション事業部に所属している @strinsert1Na なるものです。普段は脅威インテリジェンスの生成やそれに伴うソフトウェアの開発を行っています。 本稿は NFLaboratories Advent Calendar 2022 の10日目、最終日の記事です。今年のネタ候補としては (1) IDAPython の話, (2) OpenCTI c

                                  マルウェア解析は IDAPython にシュッとやらせよう - NFLabs. エンジニアブログ
                                • Python: OmegaConf を使ってみる - CUBE SUGAR CONTAINER

                                  OmegaConf は、Python の Configuration フレームワークのひとつ。 Hydra が低レイヤー API に利用している、という点が有名だと思う。 というより、Hydra を使おうとすると OmegaConf の API が部分的にそのまま露出していることに気づく。 なので、OmegaConf を理解しておかないと、Hydra はちゃんと扱えないくらいまであると思う。 今回は、そんな OmegaConf の使い方を一通り見ていく。 OmegaConf には、ざっくりと次のような特徴がある。 良い (と私が感じた) ところ YAML 形式で設定ファイルを管理できる 設定の Key-Value ペアを階層的に管理できる Data Classes (PEP 557) を使って設定の構造を定義できる Syntax for Variable Annotations (PEP

                                    Python: OmegaConf を使ってみる - CUBE SUGAR CONTAINER
                                  • SQLAlchemy 2.0 - Major Migration Guide — SQLAlchemy 2.0 Documentation

                                    Note for Readers SQLAlchemy 2.0’s transition documents are separated into two documents - one which details major API shifts from the 1.x to 2.x series, and the other which details new features and behaviors relative to SQLAlchemy 1.4: SQLAlchemy 2.0 - Major Migration Guide - this document, 1.x to 2.x API shifts What’s New in SQLAlchemy 2.0? - new features and behaviors for SQLAlchemy 2.0 Readers

                                    • PEP557から読み解くPythonのdataclassの嬉しさと他手段との比較

                                      1. はじめに 🚀 1-1. dataclassってなに みなさんPythonのdataclass使ってますか? dataclassは真新しい機能ではなくPython3.7からある[1]標準ライブラリです。 dataclassの解説記事ではよく『dataclassとはデータを保持のためのclassである』という説明がされていることが多いです。これはPEP557にある store values which are accessible by attribute lookup アトリビュート検索でアクセス可能な値の保持 Data Classes can be thought of as “mutable namedtuples with defaults”. Because Data Classes use normal class definition syntax, you are fr

                                        PEP557から読み解くPythonのdataclassの嬉しさと他手段との比較
                                      • Python実践入門 ──言語の力を引き出し、開発効率を高める

                                        2020年1月24日紙版発売 2020年1月24日電子版発売 陶山嶺 著 A5判/368ページ 定価3,278円(本体2,980円+税10%) ISBN 978-4-297-11111-3 Gihyo Direct Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 本書のサポートページサンプルファイルのダウンロードや正誤表など この本の概要 Pythonはここ数年で日本語の書籍も増え,開発現場での利用実績も着実に増えてきています。ご自身の第二,第三の言語の選択肢としてPythonが気になっているという方も多いのではないでしょうか。また,「Pythonを始めてみたけど,実際に業務で利用するには不安が残る」「コードレビューに怯えながらPythonを書いて

                                          Python実践入門 ──言語の力を引き出し、開発効率を高める
                                        • [解決!Python]match文で構造的パターンマッチを行うには

                                          Python 3.10で追加されたmatch文は条件分岐をより柔軟形で行える。その基本構文と記述可能なパターンをざっくりと紹介する。 # 基本型 match subject_expr: case pattern0 [if ...]: # subject_exprがpattern0にマッチした(かつ、if句がTrueの)ときに行う処理 pass case pattern1 [if ...]: # subject_exprがpattern1にマッチした(かつ、if句がTrueの)ときに行う処理 pass # 省略 case patternN [if ...]: # subject_exprがpatternNにマッチした(かつ、if句がTrueの)ときに行う処理 pass case _:  # 全てにマッチする # 上のパターンマッチが全て失敗したときにはワイルドカードパターンが成功する # そ

                                            [解決!Python]match文で構造的パターンマッチを行うには
                                          • データサイエンティストとエンジニアがチームプレイでいい感じにプロダクトをつくるためには? - なんちゃってClean Architectureとテストを添えて - Lean Baseball

                                            このエントリーを書いてる今日(9/29)と明日で有給消化期間が終わるマンです. 20日間, Banksy展を楽しんだ&新しいメガネを求めて新宿に行った以外, 地元の杉並区〜吉祥寺エリアからほぼ動きませんでした. Stay Home的な意味合いもあるのですが, 10/16(土)にPyCon JP 2021でお話をする事もあり, その準備(と信長の野望*1)に多くの時間を割いていました. PyCon JP 2021からトーク紹介 #pyconjp 「実践Streamlit & Flask - AIプロジェクトのプロトタイピングから本番運用までをいい感じにするPythonicなやりかた」 Web programmingトラックのIntermediate向けトークです。 楽しみですね。チケットはconnpassで発売中!(固定ツイート参照ください)— PyCon JP (@pyconjapan)

                                              データサイエンティストとエンジニアがチームプレイでいい感じにプロダクトをつくるためには? - なんちゃってClean Architectureとテストを添えて - Lean Baseball
                                            • Python: データ保持用のクラスを定義する (dataclasses) - け日記

                                              DBのエンティティクラスを定義するときなど、データを持つことに特化した構造体のようなクラスが必要なケースがよくあります。 かつてはdict + typeやnamedtupleなどで用をなしてましたが、そういったクラスを簡単に定義できる標準ライブラリとして、Python 3.7からdataclassesが提供されてます。この使い方を整理していきます。 docs.python.org $ python --version Python 3.7.4 基本的な使い方としては、dataclassesをインポートして、クラスに@dataclasses.dataclassでアノテーションし、属性を列挙していくだけでOKです。 これだけでも素のクラスで定義した場合と比較して、__init__に代入式をつらつら書いていく作業から解放されます。 import dataclasses from datetime

                                                Python: データ保持用のクラスを定義する (dataclasses) - け日記
                                              • A from-scratch tour of Bitcoin in Python

                                                I find blockchain fascinating because it extends open source software development to open source + state. This seems to be a genuine/exciting innovation in computing paradigms; We don’t just get to share code, we get to share a running computer, and anyone anywhere can use it in an open and permissionless manner. The seeds of this revolution arguably began with Bitcoin, so I became curious to dril

                                                • dataclassの型ヒントを強制できるpydanticがとても便利だった話 | ibukish Lab+

                                                  Python3.7から正式にリリースされた dataclass は非常に便利で使っている方も多いと思います。 dataclass は値を管理することに優れていて、かつ型ヒントも記載できるので可読性の向上にも貢献します。 ただこの型ヒントはあくまでヒントであって、記載されている型と異なる型のデータを格納しようとしても一切エラーは発生しません。 この型の定義、強制がないのは Python のいい面ではあるものの、コードを書く時は型を強制したいって考えている人は少なくはないと思います。 そんな悩みを解消してくれるのが、Python の外部パッケージである pydantic です。 個人的にはとても便利だと感じたので個人的なメモも含めて記事しました。 pydanticが便利だった話 そもそもpydanticとはなにか? まず pydantic ってなになのか。pydantic の公式の記載を簡単に

                                                    dataclassの型ヒントを強制できるpydanticがとても便利だった話 | ibukish Lab+
                                                  • Pythonでハッシュ可能なものの整理 | DevelopersIO

                                                    Pythonで辞書型のキーにリストを入れてunhashableとエラーを出した経験はないでしょうか? 辞書型のキーや集合型ではその値がhashableである必要があります。 今回は何がハッシュ可能で何ができないのかを簡単に整理しました。 はじめに Pythonでは、辞書(dictionary)や集合(set)などのデータ構造で使用するために、ハッシュ可能なオブジェクトが必要です。 ハッシュ可能なオブジェクトは、hash() 関数を用いてユニークなハッシュ値を生成できるものです。 ただ、全てのオブジェクトがハッシュ可能なわけではありません。 この記事では、Pythonにおいてハッシュ可能なオブジェクトについて整理していきます。 Hashable(ハッシュ可能)なオブジェクトとは? Pythonにおけるhashableとは以下のような意味です。 An object is hashable if

                                                      Pythonでハッシュ可能なものの整理 | DevelopersIO
                                                    • O/Rマッパーの型チェックを強化できるPython 3.11の新機能 Data Class Transforms(PEP 681) | gihyo.jp

                                                      Python Monthly Topics O/Rマッパーの型チェックを強化できるPython 3.11の新機能 Data Class Transforms(PEP 681) 筒井@ryu22eです。2023年最初の「Python Monthly Topics」は、Python 3.11の新機能Data Class Transforms(PEP 681)について解説します。 PEP 681についての公式ドキュメントは以下を参照してください。 PEP 681 – Data Class Transforms | peps.python.org Pythonには、データクラスと似た構造を持つクラスを扱うライブラリがいくつかあります。たとえば、attrs、pydantic、O/Rマッパー[1](SQLAlchemy、Django内蔵のO/Rマッパー)などです。Data Class Transfor

                                                        O/Rマッパーの型チェックを強化できるPython 3.11の新機能 Data Class Transforms(PEP 681) | gihyo.jp
                                                      • dataclassを使って、Pythonで値オブジェクトを実装する - nikkie-ftnextの日記

                                                        はじめに 「アタイも挑戦したい、管理人みたいに」1 『ジョゼと虎と魚たち』めっちゃいいですよね? nikkieです。 タイトルの値オブジェクトとは、値を扱うための専用クラス2です。 これを「Pythonの@dataclasses.dataclassを使って書いたらどうなるのか」手を動かしました。 この記事は、分かったことの備忘録です。 おことわり:「今の自分が書いたらこんな感じかな」というのをまとめました。 技術的な誤りや伸びしろにお気づきの際は、コメントやTwitter @ftnext までお知らせいただけると大変ありがたいです。 目次 はじめに 目次 経緯 値オブジェクトとは 値オブジェクトの実装要件 値オブジェクトの例:競走馬名 馬の名は。値オブジェクト RaceHorseName 🐴 完成したコード 不変なことの確認 完全コンストラクタであることの確認 実装ポイント frozen

                                                          dataclassを使って、Pythonで値オブジェクトを実装する - nikkie-ftnextの日記
                                                        • 論文でよく使うmatplotlib subplotsの覚え書き - Qiita

                                                          論文を書く際に複数枚のグラフの内,最も左にあるグラフのみx軸を表記し,最も下にあるグラフのみy軸を表記するという形式をよく利用するので覚え書きします.(ちなみにx軸, y軸内で表示すべき領域が完全に一致している場合はsharex, shareyという選択肢もあります.) また,左下隅のグラフのみ消すという操作もよく利用するので,customizeの例 (ax.axis('off') によって可能です) に載せています. from dataclasses import dataclass from typing import List, Optional import numpy as np import matplotlib.pyplot as plt plt.rcParams["font.family"] = "Times New Roman" plt.rcParams["font.si

                                                            論文でよく使うmatplotlib subplotsの覚え書き - Qiita
                                                          • 勾配降下法一覧 (2020) - Qiita

                                                            対象者 深層学習の最適化手法である確率的勾配降下法をまとめてみました。 といっても、こちらにまとめられている数式と論文を基に、初期値や論文に載っていなかった定数の決定などをPytorch、Keras、Chainerなどの実装を参考に行ったものをまとめただけです。 数式などは実装ライクにまとめますので、自分で実装してみたい人は見ていってください。 間違いなどがあれば気軽にご指摘ください。 また、新しい最適化手法の情報をお持ちの方や、作成中の最適化手法についても是非教えてください! こちらで探索平面ごとの挙動の違いを紹介しています。 こちらにて実装コードを公開しています。ご自由にご活用ください。 目次 はじめに 最急降下法とは 確率的勾配降下法とは 実装ベース SGD Momentum SGD NAG AdaGrad RMSprop AdaDelta Adam RMSpropGraves SM

                                                              勾配降下法一覧 (2020) - Qiita
                                                            • mangum + FastAPI で ASGI な Python アプリケーションを AWS Lambda + API Gateway 上で動かす - らくがきちょう

                                                              mangum を使うと FastAPI や responder といった ASGI アプリケーションを AWS Lambda + API Gateway 上へ簡単にデプロイすることが出来ます。 今回は FastAPI で書いた ASGI アプリケーションを mangum を使って AWS 上でデプロイする手順をメモしておきます。 mangum init の注意点 最初に mangum init する ハンドラは app/asgi.py に定義する mangum のプロジェクト名は AWS ルールに準拠したものにする mangum cli には削除機能が無い プロジェクトディレクトリを作成する mangum-cli をインストールする AWS CLI をセットアップする AWS S3 上に Bucket を作成する デプロイ用の設定ファイルを作成する requirements.txt を修正

                                                                mangum + FastAPI で ASGI な Python アプリケーションを AWS Lambda + API Gateway 上で動かす - らくがきちょう
                                                              • New features of autodoc in Sphinx-2.4 - Hack like a rolling stone

                                                                Today, I released Sphinx-2.4.0, now available on the Python package index at https://pypi.org/project/Sphinx/. It includes 18 new features and 23 bugfixes. For the full changelog, go to http://www.sphinx-doc.org/en/master/changes.html. In this article, I'd like to introduce you to new features of autodoc. Support type annotations for variables Until now, autodoc did not document type annotations f

                                                                  New features of autodoc in Sphinx-2.4 - Hack like a rolling stone
                                                                • Temporal Python 1.0.0 – A Durable, Distributed Asyncio Event Loop

                                                                  We are excited about the GA release of the Temporal Python SDK. Python is now a fully-supported workflow language in Temporal, and our use of native asyncio constructs makes it a perfect fit for Python developers looking to write durable workflows. Here are some links to read more about Temporal Python: Repository Application Development Guide Code Samples API Documentation Like essentially all of

                                                                  • Introducing "Implement DNS in a Weekend"

                                                                    Hello! I’m excited to announce a project I’ve been working on for a long time: a free guide to implementing your own DNS resolver in a weekend. The whole thing is about 200 lines of Python, including implementing all of the binary DNS parsing from scratch. Here’s the link: This project is a fun way to learn: How to parse a binary network protocol like DNS How DNS works behind the scenes (what’s ac

                                                                    • 7 Things I've learned building a modern TUI Framework

                                                                      7 Things I've learned building a modern TUI Framework I've be working on Textual for over a year now. Here's a few things I've discovered (or re-discovered) regarding terminals in Python, and software development in general. I've be working on Textual for over a year now. Here's a few things I've discovered (or re-discovered) regarding terminals in Python, and software development in general. — Wi

                                                                      • Python業務歴1年目から5年目でコードはこう変わった - Qiita

                                                                        class DBClient: PATH = 'hoge/fuga' @classmethod def insert(cls, recs): for rec in recs: # ここでは仮でprintするだけとする print(f"PATH: {cls.PATH}, name: {rec['name']}, age: {rec['age']}") records = [ {"name": "Taro", "age": 20}, {"name": "Jiro", "age": 18}, {"name": "Saburo", "age": 12} ] DBClient.insert(records) import dataclasses from typing import Final @dataclasses.dataclass class Record: name: str age: i

                                                                          Python業務歴1年目から5年目でコードはこう変わった - Qiita
                                                                        • 【Python】Django REST Framework(DRF)を使ってWeb APIを自作してみる - RAKUS Developers Blog | ラクス エンジニアブログ

                                                                          こんにちは。d-t-kong と申します。 最近、趣味でDjangoを触っているのですが、Django のライブラリに Django Rest FrameworkというWebAPIを開発できるライブラリがあることを知りました。 これを使えばWebAPIを簡単に作成できるということなので、実際にサンプルのアプリケーションを 作ってAPIを自作してみました。 今回は、その手順やポイントなどを紹介していきたいと思います。 Django REST Frameworkとは RESTful API とは 事前準備 使用環境 プロジェクト・アプリケーションを作成 モデルを定義 データベースを構築 管理アカウント作成 DRFでAPIを作成 REST Framework をアプリケーションに追加 DRFの主要コンポーネントを作成 1.Serializer 2.ViewSets 3.Router APIにアク

                                                                            【Python】Django REST Framework(DRF)を使ってWeb APIを自作してみる - RAKUS Developers Blog | ラクス エンジニアブログ
                                                                          • Python 3.10の新機能(その10) Dataclassでslotsが利用可能に - python.jp

                                                                            dataclass は、Pythonで主にデータを格納するためのクラスで、C言語などでは構造体に相当するようなデータ構造を、かんたんに定義できるようになっています。 たとえば、次の Person は、名前と年齢を格納するdataclassです。 from dataclasses import dataclass @dataclass class Person: name: str age: int person1 = Person(name="パーソン太郎", age=20) person2 = Person(name="パーソン次郎", age=30) Python 3.10では、dataclass に slots 引数が追加され、スロット を使ったクラスを定義できるようになりました(bpo-42269)。 スロットとは?¶通常、クラスのインスタンスは、メンバー変数の名前と値を __di

                                                                            • 【AWS】Lambda Powertoolsを布教したい!|朝日新聞社 メディア研究開発センター

                                                                              現在対応している言語はPython・Java・TypeScript・.NETです。この記事のサンプルコードは全てPythonになります。 ちなみにYOLOでは、メイン機能である音声認識まわりをLambdaに移行するタイミングでPowertoolsを導入しました(2023年3月、下記記事もご覧ください)。 導入して感じたメリットはざっとこんな感じでしょうか。 構造化ログが簡単に生成される バリデーションを自前で実装しなくて良くなる API Gatewayとの統合がいろいろ楽になる それぞれ後ほど紹介したいと思いますが、とにかくよしなにやってくれるのです。 インストール方法と使い方導入はとても簡単で、Lambdaレイヤーかpipから使えます。 AWSコンソールでサクッと使う「AWSレイヤー」にPowertoolsのレイヤーが用意されています。使いたいLambda関数でこのレイヤー追加するだけで

                                                                                【AWS】Lambda Powertoolsを布教したい!|朝日新聞社 メディア研究開発センター
                                                                              • dataclassと __slots__ について調べた - Keep on moving

                                                                                対象バージョン Python 3.7以降 TL;DR dataclassでも __slots__ を使える __slots__ をつかうとpropertyの追加ができなくなる(自由度が下るが、コードをおいやすくなる) slots とは docs.python.org __slots__ を使うと、(プロパティのように) データメンバを明示的に宣言し、 (明示的に __slots__ で宣言しているか親クラスに存在しているかでない限り) __dict__ や __weakref__ を作成しないようにできます。 __dict__ を使うのに比べて、節約できるメモリ空間はかなり大きいです。 属性探索のスピードもかなり向上できます。 ということらしい。 dataclassの動作 dataclassを自分で使うときは私の用途だと関数の返り値/引数とかで使うときがおおいのでメモリ空間の節約できると便

                                                                                  dataclassと __slots__ について調べた - Keep on moving
                                                                                • GOFデザインパターンをPythonで理解する ~ Creational Design Patterns編 ~ - Qiita

                                                                                  GOFとは? GOFとはGang of Fourの略でオブジェクト指向プログラミングにおける再利用性の高いコーディングのパターン、デザインパターンをまとめた4人のプログラマー(Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides)のことを指します。 彼らは「Design Patterns: Elements of Reusable Object-Oriented Software(オブジェクト指向における再利用のためのデザインパターン)」の著者であり、今回はその本の中でまとめられているCreational Design Patterns(生成に関するデザインパターン)についてまとめていこうと思います! Creational Design Patterns(生成に関するデザインパターン)は以下の通りです。 Abstract

                                                                                    GOFデザインパターンをPythonで理解する ~ Creational Design Patterns編 ~ - Qiita