並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 304件

新着順 人気順

dataclassesの検索結果1 - 40 件 / 304件

  • 今時のPythonはこう書く2020 - Qiita

    はじめに システム作ってるとかライブラリ作ってるみたいなある程度Pythonを綺麗に1書くことが求められる方々に向けた記事です。 (機械学習系のライブラリを使うためにPython書いてる方とか、初学者の方にはちょっとあわないかも知れません) 綺麗に書くための作法の難しさって共有が面倒なところだと思うんですよね。その書き方は間違いじゃない、間違いじゃないけどもっといい書き方があるぞみたいなやつってなかなか指摘し辛いですし、じゃあ1人に対してレビューしたら他のメンバーにはどう伝える?そもそも伝える必要?俺の工数は?みたいになりがちです。 一番いいのはこういう時はこう書く!みたいなドキュメントを作って「ドキュメント違反です」ってレビューをしてあげることなんですが、まーそれもそれで超面倒じゃないですか。なのでこの記事がそのドキュメントの代わり、とまではいかなくとも礎くらいになればいいなと思って書き

      今時のPythonはこう書く2020 - Qiita
    • 【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい

      はじめに 対象イベント 読み方、使い方 Remote Code Execution(RCE) 親ディレクトリ指定によるopen_basedirのバイパス PHP-FPMのTCPソケット接続によるopen_basedirとdisable_functionsのバイパス JavaのRuntime.execでシェルを実行 Cross-Site Scripting(XSS) nginx環境でHTTPステータスコードが操作できる場合にCSPヘッダーを無効化 GoogleのClosureLibraryサニタイザーのXSS脆弱性 WebのProxy機能を介したService Workerの登録 括弧を使わないXSS /記号を使用せずに遷移先URLを指定 SOME(Same Origin Method Execution)を利用してdocument.writeを順次実行 SQL Injection MySQ

        【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい
      • Python3.7で導入されたdataclass入門 - MyEnigma

        Python実践入門 ── 言語の力を引き出し、開発効率を高める (WEB+DB PRESS plusシリーズ) 目次 目次 はじめに 通常のclassとdataclassの比較 dataclassの良いところ データを格納する箱であることを明確にできる。 クラス定義を短くかける 型情報を書くことでデータ構造が見やすくなる。 Printしたときに、そのままオブジェクトの中身を表示できる。 asdict関数でdictに変換できる。(Dictから簡単にJSONにも変換できる) Dict(JSON)からdataclassを作ることもできる Frozen引数を使うことで、簡単にイミュータブルにもできる。 データが作られたときに、自動後処理機能を追加することができる。 dataclassの残念なところ コレクションの初期化 参考資料 MyEnigma Supporters はじめに C++ユーザやJ

          Python3.7で導入されたdataclass入門 - MyEnigma
        • 2024年のPythonプログラミング - Uzabase for Engineers

          ソーシャル経済メディア「NewsPicks」で推薦や検索などのアルゴリズム開発をしている北内です。Pythonは頻繁に新機能や便利なライブラリが登場し、ベストプラクティスの変化が激しい言語です。そこで、2024年2月時点で利用頻度の高そうな新機能、ライブラリ、ツールなどを紹介したいと思います。 この記事では広く浅く紹介することに重点を置き、各トピックについては概要のみを紹介します。詳細な使用方法に関しては各公式サイト等での確認をおすすめします。なお、本記事ではOSとしてmacOSを前提としています。 環境構築 Pythonの環境構築はpyenvとPoetryの組み合わせがもっとも標準的でしょう。 以下の手順でpyenvとPythonをインストールできます。 brew install pyenv # Bashの場合 echo 'eval "$(pyenv init -)"' >> ~/.ba

            2024年のPythonプログラミング - Uzabase for Engineers
          • Pythonが教育用途において十分だという話

            Pythonが教育用途において十分だという話 今話題のPythonを教えている現役の講師です。Pythonを教える際に重視すべきだと考えている機能等について書いておきます。 dataclass / Pydantic 自分は型ヒントよりもdataclassやPydanticを使った型付けを重視しています。いわゆるクラスベースな言語の書き方が大事だと考えています。 dataclass Pythonは動的型付け言語であり、interface相当の機能すらclassの構文で書く変わった言語です。近年Pythonの型ヒントは少しづつ充実してきていますが発展途上であることは否めないですし、何より実行時にその型であることは保証されないので、dataclass等を使った開発スタイルが依然強力だと考えています。 Python+TypeScriptというようなスタックを使う際には両言語の差に混乱するでしょう。

              Pythonが教育用途において十分だという話
            • Python の型システムの上で Immutable な Python プログラムを作る - 病みつきエンジニアブログ

              まえがき 今年の PyCon JP 2020 にて「Python 3.9 時代の型安全な Python の極め方」というタイトルで登壇させていただきます。本稿は、発表の補足となる「型ヒントを使って Immutable な Python を実現する方法」について紹介したものです。 Python の型ヒント Python には「型ヒント」という機能があり、型をプログラム内に宣言することができます。 age: int = 28 name: str = 'Bruce Wayne' Python は動的型付き言語であるため、この情報はランタイム(実行時)にはあまり意味がないのですが、 mypy などの型チェックツールをつかうと、型の誤りをチェックすることができます。 def check_batman(name: str) -> bool: return name == 'Bruce Wayne' a

                Python の型システムの上で Immutable な Python プログラムを作る - 病みつきエンジニアブログ
              • Python3.7以上のデータ格納はdataclassを活用しよう - Qiita

                はじめに Pythonでデータを格納する際に辞書や普通のクラスを使っていませんか?Python3.7からはデータ格納に便利なdataclassデコレータが用意されています。 この記事では公式ドキュメントやPEP557の説明ではいまいち掴めない、どういった時に便利で、なぜ使うべきなのかという点に触れつつ、使い方を説明していきます。 なお、以前のバージョンではPython3.6に限りpip install dataclassesによって使えるようになります。執筆時点ではGoogle Colaboratoryの環境がPython3.6.9ですが、デフォルトでdataclassesがインストールされています。 想定読者 dataclassの存在を知ったが何なのかよく分からない人 可読性高くデータを扱いたい人 「前はこんな機能なかったし、自分は別に使わなくて良いよ・・・」と思っている人 よく見かける

                  Python3.7以上のデータ格納はdataclassを活用しよう - Qiita
                • Writing Python like it’s Rust

                  I started programming in Rust several years ago, and it has gradually changed the way I design programs in other programming languages, most notably in Python. Before I started using Rust, I was usually writing Python code in a very dynamic and type-loose way, without type hints, passing and returning dictionaries everywhere, and occasionally falling back to “stringly-typed” interfaces. However, a

                  • 【全2回】AWS Lambda x FastAPIによるPythonモダンAPI開発のすゝめ 1 - RAKSUL TechBlog

                    はじめに この記事を読んで得られること 対象読者 あまり説明しないこと 前提とするバージョン 参考となるレポジトリ 1. 開発環境の構築で使用したツール AWS Lambdaのコンテナサポートを採用 Poetry利用時に開発と本番環境の適切な管理でLambdaデプロイ問題を解決 Poetry利用時に起きた問題 Dockerfileを分けてデプロイできない問題を回避 Mutagen Composeを採用 Dockerの同期遅い問題 Mutagen Composeを利用 2. 開発で活用したPythonライブラリ パッケージ管理 Poetry Ryeも検討したものの採用せず ベースのライブラリ FastAPI Mangum Powertools for AWS Lambda リンター・フォーマッター Ruff Mypy 型アノテーション自動生成ツールの活用 Black テスト Pytest p

                      【全2回】AWS Lambda x FastAPIによるPythonモダンAPI開発のすゝめ 1 - RAKSUL TechBlog
                    • オブジェクト指向設計実践ガイドを読んだので基本部分をPythonでも書いてみた - サーバーワークスエンジニアブログ

                      オブジェクト指向設計実践ガイド is https://www.amazon.co.jp/dp/477418361X その名の通りオブジェクト指向の原則に沿った設計を実践しながら学ぶという内容です。 私は今年の3月からCloud Automatorを開発するサービス開発課に配属になりましたが、これまでのプログラミング経験が乏しいこともあり、 オブジェクト指向というものがいまいち掴みきれませんでした。 そこで夏頃からこの書籍を読み始めたのですが、これまで頭の中でぼんやりしていた概念が丁寧に論理立てて整理できた感覚があり、とても勉強になりました。 オススメの書籍ですので、今回はこの書籍の基礎部分をPythonでご紹介したいと思います。 なぜPython? 私自身、普段の業務では主にRubyを利用していますが、 社内の他部署ではPythonが主に使われていて、新人研修で初めて学んだプログラミング言

                        オブジェクト指向設計実践ガイドを読んだので基本部分をPythonでも書いてみた - サーバーワークスエンジニアブログ
                      • dataclassを捨ててpydanticに乗り換える

                        Pydanticが今最高にCool こんにちは、極論モンスターのYosematです。pydanticに替えてdataclassを使う理由は今ほとんどありません。pydanticがV2になったこのタイミングでpydanticに乗り換えましょう。この記事ではなぜdataclassよりもpydanticなのか理由を述べていきます。 ※2024/02/26追記 OpenAIのクライアントもPydanticを採用しました 素敵なブログからの引用。ただし現在はdataclassもslotを導入している。slotを利用して通常より高速にフィールドアクセスしたい人はattrsやdataclassもアリ。 理由① より洗練されたインターフェース pydanticをdataclassに代えて使うのはなんといってもかゆいところに手が届くインターフェースです。はっきりいってdataclassも素晴らしいライブラリ

                          dataclassを捨ててpydanticに乗り換える
                        • ChatGPT Code Interpreter で実行されるコードから、外部へアクセスはできるのか? - Taste of Tech Topics

                          最近自室のポトスの成長が著しく、ジャングルになりつつある菅野です。 先日、OpenAIから、公式のプラグインとして「Code Interpreter」が発表されました。 「Code Interpreter」では、Pythonコードの生成・実行が可能ですが、本記事では、「Code Interpreter」が生成したコードを実行する場合、外部APIにアクセスは可能なのか、確認してみます。 openai.com 検証で用いるAPI 今回の検証では以下のREST-APIを認証なしで実行できるデモ用サイトを利用します。 JSONPlaceholder - Free Fake REST API 上記サイトの https://jsonplaceholder.typicode.com/todos/1 へリクエストを送信すると、以下のようなレスポンスが得られます。 { "userId": 1, "id":

                            ChatGPT Code Interpreter で実行されるコードから、外部へアクセスはできるのか? - Taste of Tech Topics
                          • Python standard library changes in recent years

                            With each major Python release, all the attention goes to the new language features: the walrus operator, dictionary merging, pattern matching. There is also a lot of writing about asyncio and typing modules — they are developing rapidly and are obviously important for the core team. The rest of the standard library modules receive undeservedly little attention. I want to fix this and tell you abo

                              Python standard library changes in recent years
                            • Best Practices for Working with Configuration in Python Applications - Preferred Networks Research & Development

                              Home Blog Best Practices for Working with Configuration in Python Applications Most computer applications can be configured to behave a certain way, be it via command line flags, environment variables, or configuration files. For you as a software developer, dealing with configuration comes with challenges such as parsing untrusted input, validating it, and accessing it on all layers of your progr

                                Best Practices for Working with Configuration in Python Applications - Preferred Networks Research & Development
                              • ChatGPT と Whisper で発音練習アプリを作ってみた - NTT Communications Engineers' Blog

                                この記事は NTTコミュニケーションズ Advent Calendar 2023 の15日目の記事です。 この記事では、ChatGPT と 音声認識モデルの Whisper を用いた発音練習アプリケーションをご紹介します。 ChatGPT に読み上げる文章を考えてもらい、その文章の読み上げた音声を Whisper で文字起こしします。 正確に発音できていれば、正確に文字起こしできる、という考えから、 原稿と文字起こし結果を比較すれば発音練習に使えるのではないかと考えました。 実際に使ってみた結果、発音のどこが悪かったのかといったフィードバックはもらえませんが、 自分の発話した音声に対して評価がつくだけでも、結構楽しく練習できると感じました。 音声認識を活用したアプリケーションは、一般に音声認識精度がネックになると思いますが、 このアプリケーションは音声認識精度が100%ではないことを逆手に

                                  ChatGPT と Whisper で発音練習アプリを作ってみた - NTT Communications Engineers' Blog
                                • 【LCM】512×512pxの画像を0.02秒でリアルタイム画風変換する

                                  はじめに こんにちは。 一昨日、土日を1日潰してLatent Cosistency Model(LCM)の推論高速化に取り組んでみたところ、そこそこ上手くいき、512×512pxの画像をimage-to-image(img2img)するタスクにおいてRTX3090で26fps、A100で33fpsの推論速度が出るようになりました。 【追記】RTX4090だと45fps出たそうなので、記事のタイトルをわずかに更新しました。記事作成当時はA100で検証していたので、以下ご了承ください。 画像1枚につき0.03秒で処理できていることになるので、ほぼリアルタイムで変換できていると言ってもいいのではないでしょうか。 プログレスバーが1%進むごとに1枚の画像のimg2imgが完了しています。気持ちいいですね。 そこで、この記事では、当高速化に取り組んだとき経験的に(理論的にではない)得られた、LCM推

                                    【LCM】512×512pxの画像を0.02秒でリアルタイム画風変換する
                                  • GitHub - facebookresearch/AugLy: A data augmentations library for audio, image, text, and video.

                                    AugLy is a data augmentations library that currently supports four modalities (audio, image, text & video) and over 100 augmentations. Each modality’s augmentations are contained within its own sub-library. These sub-libraries include both function-based and class-based transforms, composition operators, and have the option to provide metadata about the transform applied, including its intensity.

                                      GitHub - facebookresearch/AugLy: A data augmentations library for audio, image, text, and video.
                                    • wav2vec 2.0 を使って 手軽に音声認識モデルを触れるようになろう - NTT Communications Engineers' Blog

                                      この記事は NTTコミュニケーションズ Advent Calendar 2021 の20日目の記事です。 はじめに こんにちは。プラットフォームサービス本部アプリケーションサービス部の是松です。 NTTコミュニケーションズでは自然言語処理、機械翻訳、音声認識・合成、要約、映像解析などのAI関連技術を活用した法人向けサービスを提供しています。(COTOHA シリーズ) NTTコミュニケーションズがこのようなAI関連技術を活用したサービスを展開する強みとして、 NTT研究所の研究成果が利用可能であること 自社の他サービスを利用しているお客様に対してシナジーのあるサービスを提案できること この2点が挙げられると思います。 実際に、私が担当している COTOHA Voice Insight は 通話音声テキスト化によってコンタクトセンターの業務効率化・高度化を実現するサービスなのですが、 NTT研

                                        wav2vec 2.0 を使って 手軽に音声認識モデルを触れるようになろう - NTT Communications Engineers' Blog
                                      • Making Python 100x faster with less than 100 lines of Rust

                                        A while ago at $work, we had a performance issue with one of our core Python libraries. This particular library forms the backbone of our 3D processing pipeline. It’s a rather big and complex library which uses NumPy and other scientific Python packages to do a wide range of mathematical and geometrical operations. Our system also has to work on-prem with limited CPU resources, and while at first

                                          Making Python 100x faster with less than 100 lines of Rust
                                        • Writing Python like Rust · Questions Nobody Asked..

                                          Writing Python like Rust 10 May 2020 Or, how I learned to stop worrying and love the type annotations. Listen, I didn’t plan on making a whole ‘writing X like Y’ series. But here we are. I’ve recently been working on a new project at work - my first project in pure Python 3. Meaning, I get to play with all the new toys! And as I was writing this code, it struck me that was borrowing a lot of trick

                                          • 認証機能を(ほぼ)作らずに認証付きバックエンドを3日で作っちゃった話 - Google CloudとFastAPIのエコシステムに全力で乗っかろう - Lean Baseball

                                            心身のコンディション維持と体調管理のため, 毎日運動と血圧・体重・脈拍の計測をしているマンです*1. 新たな個人開発かつ, 趣味と実益(&学習)を兼ねて, プロダクトオーナーやりたい宣言したので, 個人開発としてプロダクト作りたい ネタどうしようかな...そうだ! 毎日運動と血圧・体重・脈拍の計測 に役立つ何かを作るぞ! 自分でSaaSを開発する練習もしたいので, スタートアップがやりそうなアーキテクチャでちゃんと作ろう と, 昨年末に思いつき「自分専用のヘルスケア領域SaaS」としてモノを作っているのですが, データの入力元となるフロントエンドと, 記録したデータの可視化&リコメンドに注力したい ↑の理由で, バックエンドの開発は正直な話思いっきり手を抜きたい 一番面倒くさいと言っても過言ではない認証機能(ユーザー管理)を開発ゼロでやりたい!!! ...と思いつき, 知識と余暇の時間を総

                                              認証機能を(ほぼ)作らずに認証付きバックエンドを3日で作っちゃった話 - Google CloudとFastAPIのエコシステムに全力で乗っかろう - Lean Baseball
                                            • Python’s “Type Hints” are a bit of a disappointment to me

                                              2022-04-21 Preface You are reading version 2.0 of this blog post. Readers shared this link on Hacker News and lobsters, which unexpectedly blew up and sparked many heated discussions. I’ve incorporated some of this feedback into this revised version. (Some time later, there was also a discussion about this article on The Real Python Podcast.) Introduction Over the course of several Python 3.x vers

                                              • Hugging FaceでOpenAIの音声認識”Whisper”をFine Tuningする方法が公開されました | DevelopersIO

                                                こんちには。 データアナリティクス事業本部 機械学習チームの中村です。 OpenAIがリリースしたWhisperについて、先日Hugging FaceのブログでHugging Faceのフレームワークを用いたfine-tuningの実行方法が紹介されました。 fine-tuningにより、自社で蓄積された音声や書き起こしのデータセットがある場合は、特化した学習をすることが可能です。 また著名なHugging Faceからfine-tuningの実装がリリースされたことで、今後様々なシーンでの応用の可能性を感じます。 Hugging FaceブログではHindi語を例として実施していますが、今回はこちらについて、日本語データを例にしながら動作を確認していきたいと思います。 概要 本記事では、Hugging Faceのフレームワークを用いたfine-tuningの実行を、日本語データセットを例

                                                  Hugging FaceでOpenAIの音声認識”Whisper”をFine Tuningする方法が公開されました | DevelopersIO
                                                • Why I use attrs instead of pydantic

                                                  This post is an account of why I prefer using the attrs library over Pydantic. I'm writing it since I am often asked this question and I want to have something concrete to link to. This is not meant to be an objective comparison of attrs and Pydantic; I'm not interested in comparing bullet points of features, nor can I be unbiased since I'm a major contributor to attrs (at time of writing, second

                                                  • Statically Typed Functional Programming with Python 3.12

                                                    Lately I’ve been messing around with Python 3.12, discovering new features around typing and pattern matching. Combined with dataclasses, they provide support for a style of programming that I’ve employed in Kotlin and Typescript at work. That style in turn is based on what I’d do in OCaml or Haskell, like modelling data with algebraic data types. However, the more advanced concepts from Haskell —

                                                    • Python 3.10の新機能:構造化パターンマッチング | gihyo.jp

                                                      鈴木たかのりです。今月からgihyo.jp上で「Python Monthly Topics」と題して、毎月Python関連の話題になったトピックやツール、ライブラリなどを紹介していきたいと思います。 第1回目はPython 3.10の新機能「構造化パターンマッチング(Structural Pattern Matching⁠)⁠」について紹介します。 Python 3.10の新機能 Python 3.10は2021年10月4日にリリースされました。現在のPythonの最新バージョンは3.10.5で、Download Pythonのページからダウンロードできます。 Python 3.10.5のリリースページを見ると、謎のヘビの画像があります。 Python 3.10 release logo この画像はPython 3.10 release logoという画像で、ヘビの周りにPython 3.

                                                        Python 3.10の新機能:構造化パターンマッチング | gihyo.jp
                                                      • 先読みを用いたLLMの文章生成の高速化 - NTT Communications Engineers' Blog

                                                        こんにちは、イノベーションセンターの加藤です。普段はコンピュータビジョンの技術開発やAI/機械学習(ML: Machine Learning)システムの検証に取り組んでいます。一方で、兼務1で大規模言語モデル(LLM: Large Language Model)について調査を行なっており、特にLLMの推論や学習の高速化に関心を持っています。 今回は、小さな言語モデルによる先読みを活用してLLMの文章生成を高速化する手法(Assisted Generation2, Speculative Sampling3などと呼ばれています)についてご紹介します。 LLMの推論は計算コストが高く、文章生成の遅さが課題としてよく挙げられています。特に日本語はトークンあたりの文字数が少なく、ChatGPTのようなストリーム出力でもかなり生成が遅く感じるかと思います。 これに対して、いくらか余分にメモリを利用し

                                                          先読みを用いたLLMの文章生成の高速化 - NTT Communications Engineers' Blog
                                                        • An oral history of Bank Python

                                                          An oral history of Bank Python November 2021 The strange world of Python, as used by big investment banks High finance is a foreign country; they do things differently there Today will I take you through the keyhole to look at a group of software systems not well known to the public, which I call "Bank Python". Bank Python implementations are effectively proprietary forks of the entire Python ecos

                                                            An oral history of Bank Python
                                                          • pydanticを使って実行時にも型情報が適用されるPythonコードを書く - Qiita

                                                            この記事はPythonその2 Advent Calendar 2020、16日目の記事です。 Python3.5でType Hintsが導入され、元々動的型付け言語であったPythonでもコードに型情報を記述することが現在では当たり前になってきました。 今回は、この型情報を最大限活用してより堅牢なPythonコードを書く大きな助けになるライブラリ、pydanticを紹介します。 pydanticとは 最近話題のPython製WebフレームワークFastAPIでも使用されているので、存在自体は知っている方も多いのでは無いでしょうか。 実は私もFastAPIを初めて使ったときにこのpydanticの存在を知りました。 pydanticはずばり以下の機能を実現してくれるライブラリです。 実行時の型情報の提供 不正なデータにはユーザーフレンドリーなエラーを返す これだけだとなんのこっちゃ、って人の

                                                              pydanticを使って実行時にも型情報が適用されるPythonコードを書く - Qiita
                                                            • 中級者へのModern Python

                                                              はじめに 本記事の読者対象 Python の開発環境・ツールをさらに覚えたい方 よりモダンに近い Python 環境が欲しい方 想定していない方 Python 自体がはじめての方 Python 上級者 説明すること・しないこと 説明する ツールのおおまかな説明 ツールを使用する理由・嬉しさ 参考になるドキュメント・URL 説明しない 具体的なコマンド 細かい文法 Modern Python 大学院で研究をするようになってから、かなりの時間 Python を書くようになりました。 なぜならば、研究で利用しやすいライブラリが豊富であり、かつ研究のようなイテレーションがはやいプロジェクトに対して非常に有効であるためです。 しかし、Python は短期的にコードを試して動作を変更できる分、安定した動作が難しくなってきます。 たとえば、C++などはコンパイルを通す必要があるため、設計をうまく考えて実

                                                                中級者へのModern Python
                                                              • attrsの使いどころとdataclass - Keep on moving

                                                                masahito.hatenablog.com この記事は^の記事の続きです。^を読んでから読むと良いと思います。 なお、今回のサンプルコードはこちらにあります。(間違いなどありましたらご指摘ください) github.com TL;DR attrsのつかいどころ 今Python3.5 or 3.6を使っている。今後dataclassを使いたい dataclassで slotsなどを使いたい場合にボイラープレートコードを避けたい slotsの効果 attrsとは www.attrs.org 簡単にいうとPython でclassを書くときのボイラープレートになるところがスッキリかけるものです。 1 Overviewで書かれているコードを軽く解説します。 >>> import attr >>> @attr.s ... class SomeClass(object): ... a_number

                                                                  attrsの使いどころとdataclass - Keep on moving
                                                                • LLM Powered Autonomous Agents

                                                                  Date: June 23, 2023 | Estimated Reading Time: 31 min | Author: Lilian Weng Building agents with LLM (large language model) as its core controller is a cool concept. Several proof-of-concepts demos, such as AutoGPT, GPT-Engineer and BabyAGI, serve as inspiring examples. The potentiality of LLM extends beyond generating well-written copies, stories, essays and programs; it can be framed as a powerfu

                                                                  • 【PyTorch】GPTをPrompt-tuningしてみた | 株式会社AI Shift

                                                                    こんにちは.AIチームの二宮です. 本記事では,最近話題のPrompt-tuningのご紹介と,実装・実験・分析を行ってみました. はじめに 近年,言語モデルの大規模化が著しいです.例えば,huggingfaceで公開されている日本語版のいくつかの言語生成モデルGPTのパラメタ数は以下になります. (M: million, B: billion) rinna/japanese-gpt2-xsmall: 37M rinna/japanese-gpt2-medium: 336M rinna/japanese-gpt-1b: 1.3B abeja/gpt-neox-japanese-2.7b:2.7B naclbit/gpt-j-japanese-6.8b:6.8B BERT-baseが約110M,BERT-largeが約340Mであることを考えると,非常に大規模であることを実感しますね.最近話

                                                                      【PyTorch】GPTをPrompt-tuningしてみた | 株式会社AI Shift
                                                                    • [詳解] Pythonのdataclasses

                                                                      dataclassesとは pythonのdataclassesモジュールは、データを格納するためのクラスを定義し、データ格納クラスのための様々な機能を含んだモジュールです。 データ格納のための、と言うとふんわりした印象になりますが、クラス変数を初期化するための__init__()関数を自動生成してくれるため、クラスの定義がシンプルになります。またデータ格納を目的とするクラスの場合__init__()に大量の引数を記載する必要がありますが、自動生成されることによりその必要も無くなります。 データ格納といった目的以外にも様々な用途に用いることが考えられると思います。 dataclassesはPython3.7から追加になりました。本記事はPython3.9のドキュメント、ソースコードを参照して執筆しています。 基本的な使い方 dataclassesモジュールを用いたデータ格納クラスを作成する

                                                                        [詳解] Pythonのdataclasses
                                                                      • Pydanticで始めるイミュータブルクラス駆動開発 - NFLabs. エンジニアブログ

                                                                        はじめに こんにちは!NFLabs. 研究開発部の林です。普段はセキュリティ教育プラットフォームの開発をしています。 今回はセキュアコーディングの重要な要素である「バリデーション(入力検証)」に関連して、PythonのPydanticライブラリにフォーカスしてお話します。 Python界隈では、昨今、型ヒントやFastAPIの普及に伴い、型の重要性や有用性が徐々に認識されつつあるかと思います。 それに伴い、バリデーションライブラリのデファクトスタンダードの一つであるPydanticの注目度も上がってきたと感じています。 Pydanticは実行速度の速さを特長として挙げていますが、Pydanticがもたらす安全性・Immutable(不変)性は、開発速度向上にも一役買っています。 本稿ではPydanticがいかに開発速度・開発体験に寄与するか考察します。 ちなみに、タイトルの「イミュータブル

                                                                          Pydanticで始めるイミュータブルクラス駆動開発 - NFLabs. エンジニアブログ
                                                                        • JSON Type Definition

                                                                          package com.example; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import java.time.OffsetDateTime; @JsonSerialize public class User { @JsonProperty("createdAt") private OffsetDateTime createdAt; @JsonProperty("id") private String id; @JsonProperty("isAdmin") private Boolean isAdmin; @JsonProperty("karma") private Integer karm

                                                                            JSON Type Definition
                                                                          • 【DDD】ドメイン駆動設計を自分なりにまとめてみる - Qiita

                                                                            ■ はじめに 少し前にドメイン駆動設計の本を読んでかなり勉強になったので、自分なりの理解をまとめておきます。 この記事に書いてあるコードはこちらのリポジトリにまとまっています。 ■ ドメイン駆動設計とは ドメイン駆動設計とはなにか ソフトウェアの利用者を取り巻く世界(ドメイン)と実装を結びつけることを目的としている。 ※ ドメインとは「プログラムを適用する対象となる領域」 モデルとは現実の事象・概念を抽象化した概念。 ドメインモデルとは、ドメインをソフトウェア上で扱うために抽象化したもの ドメイン駆動設計のパターン ドメイン駆動設計にはいくつかの要素があり、「知識を表現するもの」と「アプリケーションを実現するもの」に分類される。 <> 知識を表現するパターン 値オブジェクト ドメインの知識を表現するオブジェクト エンティティ ドメインの概念を表現するオブジェクト ドメインサービス 値オブジ

                                                                              【DDD】ドメイン駆動設計を自分なりにまとめてみる - Qiita
                                                                            • Pydanticで始めるPythonのバリデーションとシリアライゼーション

                                                                              はじめに Pydanticを使用することで、Pythonコードでのデータバリデーションとデータシリアライゼーションを簡単かつ効率的に行うことができます。 この記事では、Pydanticの基本的な使い方から、より高度なバリデーションとシリアライゼーションまで幅広く紹介します。また、簡易的なものですが他のバリデーションライブラリとの速度比較も行っています。 Pydanticとは Pydanticは、Pythonのバリデーションライブラリです。以下のような特徴を持ちます。 型アノテーションをつけるだけでバリデーションとシリアライゼーションを実現できる 独自のバリデーションやシリアライゼーションを柔軟に定義することができる Pydantic V2はコアロジックがRustで実装されていて高速に動作する dataclasses+jsonと比較 dataclasses+jsonを使ったコードとPydan

                                                                                Pydanticで始めるPythonのバリデーションとシリアライゼーション
                                                                              • Pythonで中~大規模開発をする際のススメ5選 - Qiita

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

                                                                                  Pythonで中~大規模開発をする際のススメ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