並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 317件

新着順 人気順

dataclassesの検索結果81 - 120 件 / 317件

  • 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
      • Summarization | 🦜️🔗 Langchain

        Use case​Suppose you have a set of documents (PDFs, Notion pages, customer questions, etc.) and you want to summarize the content. LLMs are a great tool for this given their proficiency in understanding and synthesizing text. In this walkthrough we'll go over how to perform document summarization using LLMs. Overview​A central question for building a summarizer is how to pass your documents into t

          Summarization | 🦜️🔗 Langchain
        • UnstructuredでWebのURLもローカルのPDFも読み込める! さらにユーザはpartition関数を呼ぶだけととっても簡単! (arXivの論文を例に) - nikkie-ftnextの日記

          はじめに #ラブライバーに見て欲しいアイマス公式絵 で涙腺崩壊😭😭 異次元フェスの余韻で夢見心地なnikkieです。 存在を知った興味深いライブラリの素振り(初手)です。 目次 はじめに 目次 Unstructured LangChainが使ってます1 partition 動作環境 WebのURLから ローカルのPDFから ファサードpartition 終わりに Unstructured We get your data LLM-ready 訳してみると「あなたのデータにLLMで使う準備を」といった感じでしょうか。 どんなソースのデータもUnstructuredで扱えるのが売りのようです。 80% of enterprise data exists in difficult-to-use formats like HTML, PDF, CSV, PNG, PPTX, and more.

            UnstructuredでWebのURLもローカルのPDFも読み込める! さらにユーザはpartition関数を呼ぶだけととっても簡単! (arXivの論文を例に) - nikkie-ftnextの日記
          • Changelog

            Changelog¶ Python next¶ Release date: XXXX-XX-XX Windows¶ gh-123915: Ensure that Tools\msi\buildrelease.bat uses different directories for AMD64 and ARM64 builds. Security¶ gh-122792: Changed IPv4-mapped ipaddress.IPv6Address to consistently use the mapped IPv4 address value for deciding properties. Properties which have their behavior fixed are is_multicast, is_reserved, is_link_local, is_global,

              Changelog
            • Adding row polymorphism to Damas-Hindley-Milner

              Intro to HM Damas-Hindley-Milner (HM) is a type system for Standard ML and the ML-family languages. River and I wrote about it earlier this month. Check out that post if you would like an introduction or refresher. In this post, we’ll add row polymorphism to it. We’ll do it in the context of scrapscript’s implementation of Algorithm J, but the core ideas should be language and algorithm-independen

              • DataClass vs NamedTuple vs Object for performance optimization in Python.

                Since its introduction in Python 3.7, data class presents a exciting and new way of storing data. Why is this exciting? It boils down to performance. Coming from a Application Development realm, one key distinction immediately becomes clear: When Coding for Trading, optimization is heavily valued, and coding for performance needs to become a second nature. It is for this reason, majority of Financ

                  DataClass vs NamedTuple vs Object for performance optimization in Python.
                • GitHub - koxudaxi/datamodel-code-generator: Pydantic model and dataclasses.dataclass generator for easy conversion of JSON, OpenAPI, JSON Schema, and YAML data sources.

                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                    GitHub - koxudaxi/datamodel-code-generator: Pydantic model and dataclasses.dataclass generator for easy conversion of JSON, OpenAPI, JSON Schema, and YAML data sources.
                  • はじめての自然言語処理 MixCSE による教師なし文章ベクトル生成 | オブジェクトの広場

                    今回は教師なしの文章ベクトル化手法である MixCSE の検証です。教師なし学習ですから教師ありの手法よりは精度的に不利でしょうが、局面によっては役に立つケースもあるのでは?と試してみることに。公開されているコードは transformers ベースなのですが、今回は Colab の TPU で動かしてみたので、その方法も紹介しますね。 1. はじめに 今回は教師なしの文章ベクトル化手法である MixCSE1 の検証をしてみました。 本連載では文章ベクトル化のモデルとして、 Sentence BERT を取り上げたこと(第9回, 第18回)がありますが、品質の良いベクトルを生成する為には大量かつ良質の教師データが必要でした。 法律や特許のような特定領域に特化した文章を扱う局面では、対象領域の文書で学習したモデルを使いたいところですが、特定領域限定の都合良いデータはなかなか手に入りません。そ

                      はじめての自然言語処理 MixCSE による教師なし文章ベクトル生成 | オブジェクトの広場
                    • SQLAlchemy 2.0.0 Released - Blog - SQLAlchemy

                      SQLAlchemy 2.0.0, the first production release of SQLAlchemy 2.0, is now available. With this release, the default version of SQLAlchemy that will install when one runs pip install sqlalchemy will be version 2.0. Note that version 2.0 has significant API changes compared to the 1.4 series, so applications that run on the 1.x series of SQLAlchemy which have not gone through the migration process sh

                        SQLAlchemy 2.0.0 Released - Blog - SQLAlchemy
                      • datacalssesのインスタンスを含んだ値をJSONにするときのメモ - podhmo's diary

                        いつものやつです。対応していない値をjson.dumps()に与えるとTypeErrorが発生するやつです。 TypeError 例えばこういうdataclassを定義して。 from dataclasses import dataclass, asdict @dataclass class Point: x: int y: int json.dumpsするとTypeError import json p = Point(x=1, y=2) # TypeError: Object of type Point is not JSON serializable print(json.dumps(p)) default いつもどおりにdefaultを渡してあげる必要があります。ちょっとめんどくさいですが、is_dataclassという関数で調べられるのでどうにかなります。 import json

                          datacalssesのインスタンスを含んだ値をJSONにするときのメモ - podhmo's diary
                        • Dataclassをjson形式でシリアライズ - どこから見てもメンダコ

                          Data ClassesはPython3.7からの新機能です。その名の通りデータを保持するためのクラスを簡潔に記述することができます。 Dataclassはdataclasses_jsonパッケージを使うことによりお手軽にjson形式へ変換できます。 github.com json形式でシリアライズできると人間が直接編集したり非Pythonの外部アプリケーションにデータを渡したりする際にとても都合がよいです。 ※追記:2022年現在ではpydantic.dataclasses.dataclassも有力な選択肢です pydantic-docs.helpmanual.io [目次] インストール シンプルなDataclassの場合 ネストしたDataclassの場合 インストール pip install dataclasses_json シンプルなDataclassの場合 Permission

                            Dataclassをjson形式でシリアライズ - どこから見てもメンダコ
                          • Pythonの列挙型と型チェッカについて - 何かを書き留める何か

                            言いたいこと Pythonの列挙型を定義する方法としてクラスと関数呼び出しの2種類存在する。 関数呼び出しで列挙型を定義するべき状況とは、列挙型を動的に制御したい状況である。 しかし、関数呼び出しで列挙型を定義すると、mypyを通して型チェックをする際に都合が悪い。 列挙型を動的に制御したい場合は列挙型を使わずに素直に辞書を使う。 列挙型とは Pythonの公式ドキュメントには、列挙型について次のように説明している。 一意の値に紐付けられたシンボリックな名前の集合です 要は、まとめて扱いたい定数の集まりである。 列挙型の定義方法 Pythonには列挙型の定義方法として、クラスによる定義、関数呼び出しによる定義の2種類存在する。 公式ドキュメントの例に基づいて、それぞれの例を示す。 クラスによる定義 import enum class Planet(enum.Enum): MERCURY =

                              Pythonの列挙型と型チェッカについて - 何かを書き留める何か
                            • AWSで実践! 基盤構築・デプロイ自動化(25) CloudFormationテスト環境の構築

                              taskcatの概要 AWS Quickstart Teamがオープンソースで提供するtaskcatは、CloudFormationテンプレートをテストするためのツールです。複数のリージョンで複数のテンプレートを任意にテスト実行でき、テストパラメータなどを細かく設定しながら、正常/失敗終了したかどうかのレポートを証跡としてHTML出力することができます。taskcatでは、指定したリージョンのAWS環境で実際にスタックを構築し、テストを実行しますが、終了後にそのスタックは自動的に削除されます。 taskcat自体はPythonを使って実装されたツールですが、2020年1月現在でサポートされているのは、Pythonおよびパッケージ管理ツールである「pip」がインストールされたMacOSX、もしくはLinuxOSが対象です。Windowsはサポートされていませんが、Windows Subsys

                                AWSで実践! 基盤構築・デプロイ自動化(25) CloudFormationテスト環境の構築
                              • PEP 751 – A file format to list Python dependencies for installation reproducibility | peps.python.org

                                PEP 751 – A file format to list Python dependencies for installation reproducibility Author: Brett Cannon <brett at python.org> Discussions-To: Discourse thread Status: Draft Type: Standards Track Topic: Packaging Created: 24-Jul-2024 Post-History: 25-Jul-2024 Replaces: 665 Table of Contents Abstract Motivation Rationale Locking Scenarios Per-file Locking Package Locking Specification File Name Fi

                                  PEP 751 – A file format to list Python dependencies for installation reproducibility | peps.python.org
                                • Python最新情報と勉強法(9) Python3.10の目玉はmatch文、新バージョンは焦らず状況を見て使っていこう

                                  一般社団法人Pythonエンジニア育成推進協会(以下、当協会)の顧問理事の寺田学です。 私は試験の問題策定とコミュニティ連携を行う立場です。 Python3エンジニア認定基礎試験の主教材が9月から変わりましたので、前回は新たに教材と指定したチュートリアル第4版についてと、チュートリアルやバージョンアップとの付き合い方についてお話ししました。 今回は10月4日にリリースされたPython3.10の新機能や、これまでのバージョンアップで追加された機能の中から最近よく使われるようになってきた機能について紹介したいと思います。 Python3.10で追加された目玉機能は? Python3.10の正式版が10月4日に公開されました。今回の3.10には久しぶりに目玉の機能が加わっています。 ここでは私が注目している2点だけご紹介しますが、他にも細かい新機能があります。追加されたすべての機能を詳細に知っ

                                    Python最新情報と勉強法(9) Python3.10の目玉はmatch文、新バージョンは焦らず状況を見て使っていこう
                                  • namedtuple in a post-dataclasses world

                                    namedtuple has been around since forever,1 and over time, its convenience saw it used far outside its originally intended purpose. With dataclasses now covering part of those use cases, what should one use named tuples for? In this article, we take a look at exactly that, with a few examples from real code. Contents What are named tuples used for? The problems with named tuples What are named tupl

                                    • pydanticを用いて堅牢な型を作成する - Qiita

                                      概要 堅牢な型(Strict Type)が現時点で5つしかなく、結局__post_init__などでバリデーションを行う必要があるのは面倒と感じていましたが、なんとpydanticでは型を自分で作ることが出来ます! ただの型の作成であれば、下記のQiita記事やドキュメントを参照すれば作ることが出来ます。 今回はこれの堅牢な型バージョンです。 型の作成方法 めちゃくちゃ簡単です。 作成する型のクラスを定義する __get_validators__を定義して、次で作成するvalidate関数を呼び出す validateを定義する関数を作成し、エラーパターンを記述する 簡単な例を紹介すると、0以外の数値を受け取るNotZeroNumber型を定義してみます。 from pydantic.dataclasses import dataclass class NotZeroNumber(int):

                                        pydanticを用いて堅牢な型を作成する - Qiita
                                      • EDINET APIを用いて企業情報を取得するPythonコードを書いた。

                                        はじめに 株で大損しました。反省点も多々あるのですがやはり1番大きなところは、みんかぶなどの情報サイトだけで銘柄選びをしていたという点にあります。 もちろん株のプロが選んでいるため素人の私があれこれ言うよりも情報は正しいものの、いつの情報を参考にしているのかなど不透明な部分も多くあります。 自分の大切な資産を他人に委ねる事自体間違えていたと言わざるをえないわけです。 必要な情報は自分の目で確認して納得してから取引すべきなのです。 というわけで今回は現金に直結する可能性があるため熱量が違います。 金融庁が公開しているEDINET APIから各企業が登録している有価証券報告書などの業績記録を取得できるように進めましょう。 先行きは長いのですが、まずはEDINETが提供している2つのAPIをリクエストするところまでを行います。 手法 まずは一括取得ようにサクッと動くものを用意したいため、Pyth

                                          EDINET APIを用いて企業情報を取得するPythonコードを書いた。
                                        • PythonでReactを実現するreactPyをさわってみた - Qiita

                                          reactPy PythonやReactを実装されている方は、既に目にしているかもしれませんが、6月になってからでしょうか。reactPyに関する話が増えた気がしています。 まず、どういうものなのか、githubを見て、情報を得ることにしました。 ReactPy is a library for building user interfaces in Python without Javascript. ReactPy interfaces are made from components that look and behave similar to those found in ReactJS. JavaScriptを使わずに(Pythoを使って)、Reactのようなふるまいをするコンポーネントを構築するライブラリとのことです。 公式ドキュメントを見てみましたが、まだまだ機能追加中のよ

                                            PythonでReactを実現するreactPyをさわってみた - Qiita
                                          • 【Python】脱辞書型! dataclassとenumで入れ子構造のデータ管理

                                            ポロシャツエンジニア 3分で技術が身に付くブログ! ・ポロシャツを愛するエンジニア ・企業にて研究開発職 ・画像処理 | Deep Learning 【結論】dataclass と enumで入れ子構造でデータ管理dataclassとenumを組み合わせて、効率的に入れ子構造のデータ管理を行います。 dataclassはデータ管理を目的としたクラスを定義するための機能です。 dataclasses --- データクラス — Python 3.9.12 ドキュメント Python3.7からは「Data Classes」がクラス定義のスタンダードになるかもしれない - Qiita enumは列挙型で識別子の集合を保持するための機能です。 enum --- 列挙型のサポート — Python 3.9.12 ドキュメント enum 超まとめ python3.10 - Qiita これらの機能を組み

                                              【Python】脱辞書型! dataclassとenumで入れ子構造のデータ管理
                                            • Contextual Bandit【Open Bandit Pipeline】アルゴリズム実装【Python】 - Qiita

                                              はじめに この記事は、Open Bandit Pipeline のアルゴリズム実装を行うことによりパッケージに採用されているアルゴリズムの理解を試みています。 先ずはこの記事の構成を示します。 オープンソースの紹介 (Abstract: Open Bandit Dataset (OBD) & Open Bandit Pipeline (OBP)) Open Bandit Pipeline のアルゴリズム実装 (実装) 2.1. Open Bandit Dataset (Open Bandit Dataset) 2.1.2. 必要なライブラリの読み込み 2.1.3. データの理解 2.2. Off-Policy Evaluation wih Open Bandit Pipeline(Open Bandit Pipeline) 2.2.1. 意思決定 policy のオフラインシミュレーション

                                                Contextual Bandit【Open Bandit Pipeline】アルゴリズム実装【Python】 - Qiita
                                              • テンプレートライブラリを用いてpytestのコードを生成する - Qiita

                                                現在、モデルベースドテストやキーワード駆動テストなど「説明可能性の高いテスト」に関する技術について調査を進めています。 そのような技術の一つのゴール地点である「自動テストコードが自動で生成され、自動で実行される」を目指すために、如何にテストコードを生成するかを検討しました。 上流部分(モデルやキーワードからどのようにテストケースを導出するか)は別途検討中のため今回は触れません。 実装内容 「あらかじめテンプレートを設定しておくと、渡されたデータに応じたテストコードを生成してくれる」という仕組みになります。 Pythonのコードやテストコードはお試しで作ったものなので、ご参考までに! ディレクトリ構成 testcode-gen/ ├ .gitignore ├ poetry.lock ├ pyproject.toml ├ src/ ├ main.py ├ templates/ ├ temple

                                                  テンプレートライブラリを用いてpytestのコードを生成する - Qiita
                                                • pydanticでdataclassを代替してもっと安全なPythonコードを楽に実現する

                                                  この記事は、LAPRAS Advent Calendar 2022の6日目の記事です。 0. はじめに pydanticでもっと硬いPythonコードを実現する 🐍 Lightweight LanguageであるPythonの良さの1つに「気楽に書ける」ということが挙げられると思いますが、そのカジュアルな書き味を多少捨ててでもtypeヒントやdataclass等を用いたより"硬い"コードの方が読む際の認知負荷が減って良いなぁ、と最近は思うようになってきました。 この記事では既にそのような"硬い"Pythonコードを書くためにdataclassを用いている人に向けて代わりに pydantic を使うという選択もアリだヨ!というお話をしていきたいと思います。[1] pydanticは実行時に型ヒントを強制し、データのvalidation結果が無効な場合は分かりやすいエラーを提供してくれるPy

                                                    pydanticでdataclassを代替してもっと安全なPythonコードを楽に実現する
                                                  • Colab内にインストール済みのPythonパッケージ一覧 - いっしきまさひこBLOG

                                                    「Colabには最初から数百のPythonパッケージがインストール済み」という説明があったので、ふと思い付いて一覧にしてみました。実際には381個のパッケージがありました。 方法は、Colab上で!pip freezeコマンドを打つだけ。 なお、2020/03/14時点のCPU版VMのものです。GPU/TPU版のVMだと違う結果かもしれません。念のため。 以下では、取得したパッケージ名を基にPyPIのサイトへのリンクと概要を自動作成して、概要は日本語に機械翻訳したバージョンも載せました。 ※ちなみにこれを実施するプログラムはC#で書きました(ColabのPyPIパッケージを一覧にするC#コード)。 ※「en-core-web-sm」「screen-resolution-extra」「xkit」の3つのパッケージがPyPI上では見つからなかったです。仕方ないので、それぞれ!pip show

                                                      Colab内にインストール済みのPythonパッケージ一覧 - いっしきまさひこBLOG
                                                    • 【Python】構造体をなにかで代用する方法|ゆうまるブログ

                                                      この記事では、Pythonで構造体を代用する方法を解説します。 Pythonには、構造体が用意されていません。しかし、ちょっと工夫することで構造体っぽいものを使うことが出来ます。 Python 3.7からデータクラスを簡単に定義できるdataclassesモジュールが追加されました。気になる方は以下の記事を参照してください。 データクラスの定義と使い方 それでは、構造体の代用方法を見ていきましょう! 構造体とは? 構造体とは、複数のデータ型をまとめて取り扱うための機能です。 以下のコードは、C言語でpersonという名前の構造体を定義しています。 typedef struct { char name[256]; // 名前 int age; // 年齢 }person; この構造体を使うには、以下のようにします。 int main() { // person構造体の宣言 person mi

                                                        【Python】構造体をなにかで代用する方法|ゆうまるブログ
                                                      • GitHub - oxan/djangorestframework-dataclasses: Dataclasses serializer for Django REST framework

                                                        You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                          GitHub - oxan/djangorestframework-dataclasses: Dataclasses serializer for Django REST framework
                                                        • Summary of Major Changes Between Python Versions

                                                          This post is designed to be a quick reference for the major changes introduced with each new version of Python. This can help with taking advantages of using new features as you upgrade your code base, or ensuring that you have the correct guards for compatibility with older versions. There are two sections to this post: the first covers the actual changes, the second useful tools, links, and util

                                                            Summary of Major Changes Between Python Versions
                                                          • pydanticからArgumentParserを作るライブラリを作った - Qiita

                                                            作ったもの こんな感じにpydanticからArgumentParserを自動で生成するライブラリを作りました。 https://github.com/elda27/pydantic_argparse_builder from argparse import ArgumentParser from pydantic import BaseModel, Field from pydantic_argparse_builder import build_parser class Config(BaseModel): string: str = Field(description="string parameter") integer: int = Field(description="integer parameter") parser = ArgumentParser() build_par

                                                              pydanticからArgumentParserを作るライブラリを作った - Qiita
                                                            • Damas-Hindley-Milner inference two ways

                                                              What is Damas-Hindley-Milner? Damas-Hindley-Milner (HM) is a type system for Standard ML and the ML-family languages with parametric polymorphism, aka generic functions. It sits at a sweet spot in PL design: the type system is quite expressive, and there are well known type inference algorithms that require absolutely no annotations from the programmer. It seems to have been discovered independent

                                                              • Setting up a FastAPI App with Async SQLALchemy 2.0 & Pydantic V2

                                                                Setting up a FastAPI App with Async SQLALchemy 2.0 & Pydantic V2 Early this year, a major update was made to SQLAlchemy with the release of SQLAlchemy 2.0. Among other things, this includes significant updates to basic ORM syntax and to some technical machinery necessary for a good experience using an async engine with asyncio. (You can read more about these updates here: https://docs.sqlalchemy.o

                                                                • Compiling With Constraints

                                                                  There are lots of interesting little subproblems in compilation like instruction selection, register allocation and instruction scheduling. These can be expressed in declarative interlinked way to constraint solvers. I’ve been fiddling with probably 6 iterations of using constraint solvers for compiler backends over the last 3 years and never written a blog post on it. This is long over due, and s

                                                                    Compiling With Constraints
                                                                  • FastAPI+StrawberryでGraphQLのAPIを実現する - Taste of Tech Topics

                                                                    はじめに 最近アクアリウムを始めました、菅野です。 プログラムと異なり、生体を扱う都合上の想定外を楽しみながら試行錯誤しております。 さて、皆さんはAPIサーバを構築する際に、どのAPI形式を用いていますか? まだまだREST形式で実装することが多いかとは思いますが、 GraphQLを用いることも増えてきているのではないでしょうか? 今回は、そんなGraphQLをFastAPIと各種ライブラリを用いて簡単に実装する方法を紹介していこうと思います。 はじめに GraphQLとは 構成 利用ライブラリ 実装 ディレクトリ構成 クラス図 各種コード説明 infra/repositoryディレクトリ domainディレクトリ web/taskディレクトリ srcディレクトリ直下 起動、API呼び出し さいごに GraphQLとは GraphQLは、Meta社(旧Facebook社)によって開発・公

                                                                    • 【Python】Slackから1年間のメッセージ履歴を取得する - Qiita

                                                                      とある理由でslackから約1年間のメッセージ履歴を取得したのでPythonでの実装方法を書いておきます。 取得したメッセージを分析しやすいようにリフォーマットしたりしたのですが、いろいろまずいので全公開はできません。公開できそうな部分があればまた記事を書きたいと思います。 Pythonにはslackapi/python-slackclientがありますが、今回は使用していません。python-slackclientを使った実装方法を知りたい方は本記事以外を読むことをオススメします。 環境 言語 Python3.8 主な使用ライブラリ requests==2.23.0 開発補助用ライブラリ Pipenv mypy black flake8 実装 Client slackのtokenは環境変数から取得、またはmainスクリプトに直接記述できるようにインスタンス変数になっています。pipenv

                                                                        【Python】Slackから1年間のメッセージ履歴を取得する - Qiita
                                                                      • 機械学習における反実仮想説明(Counterfactual Explanations)を生成するライブラリ“DiCE”を活用したサービス開発についての考察 - AREKORE

                                                                        個人的に、機械学習における反実仮想説明(Counterfactual Explanations)*1を生成するPythonのライブラリ“DiCE”に興味を持ちました。そして、DiCEを活用したサービス開発について考察をしました。本記事はその考察についてのメモです。 機械学習における意思決定を促進する説明 反実仮想説明を生成するDiCE DiCEとは? DiCEの使用方法と動作の紹介 DiCEを活用したサービスの例 DiCEを活用したサービス開発における課題と解決策 設計の工夫による現実に起こりうる反実仮想説明の生成 特徴間の関係を加味したクラスの設計 特徴の扱い方としての値オブジェクトの採用 複数の反実仮想説明に基づく施策の設計 反実仮想説明の関連研究 事実から反実仮想まで変動させるための状態遷移の考慮 本記事のまとめ 機械学習における意思決定を促進する説明 機械学習を活用した予測において

                                                                          機械学習における反実仮想説明(Counterfactual Explanations)を生成するライブラリ“DiCE”を活用したサービス開発についての考察 - AREKORE
                                                                        • 半環と図

                                                                          こんにちは。GMO NIKKOのshunkiです。 最近、ChatGPTなどの大規模言語モデルの出現によって、平易な説明が不要になってきた気がします。 なぜなら目の前の文章が難解だと感じても、大規模言語モデルが文意を紐解いてくれるからです。 そうなると、興味深い情報が詰め込まれた文章でさえあれば、読み手にとっては十分ではないでしょうか。 さて、簡単な予防線も張ったところで、ここから先は大した説明もなく専門用語を使っていく。 用語に興味がそそられれば、その用語を中心に周辺知識を調査すると楽しいだろう。 あるいは話の流れ上、図が多くなるので、図を眺めるだけで何らかの直感が働くこともあるだろう。 この記事では、半環とよばれる代数的構造と図の相性の良さについて垣間見ることを目標とする。 記事の流れとしては、最初に図をさまざまに解釈しながら眺めていく。 次に半環の定義と、半環と整合する図を導入する。

                                                                            半環と図
                                                                          • AWS Lambdaから別Lambdaを呼び出す際にPickle形式でデータをやりとりする - Qiita

                                                                            Lambdaから別Lambdaを実行するのはアンチパターンにも載っている方法ですが、やってみたので書いておきます。 呼び出し元 FooのdataclassをいくつかリストにしてPickle形式にシリアライズして送信先のLambdaに送信しています。 返り値もPickleで返ってくるので読み込んでプリントします。 import json import pickle from typing import List from dataclasses import dataclass from datetime import datetime from base64 import b85decode, b85encode import boto3 @dataclass class Foo: i: int d: datetime def lambda_handler(event, context):

                                                                              AWS Lambdaから別Lambdaを呼び出す際にPickle形式でデータをやりとりする - Qiita
                                                                            • Pydanticを活用してCSVファイルを型安全に扱う - RevComm Tech Blog

                                                                              RevCommでバックエンド開発をしている小門です。 最近、CSVファイルのアップロードを受け付けて処理するバックエンドAPIの機能開発を担いました。 CSVファイルのパース、バリデーションにPydanticが便利でしたので紹介したいと思います。 なお開発言語はPython、コードの動作バージョンは以下です。 Python 3.12 Pydantic: 2.6.0 PythonでCSVファイルの取り扱い Pythonでは組み込みモジュールcsvを使うことで基本的なCSVファイルの読み取り・書き込みができます。 # persons.csv の例 """ "name","age" "alice",20 "bob",21 """ import csv with open("persons.csv", newline="") as csvfile: reader = csv.DictReader(

                                                                                Pydanticを活用してCSVファイルを型安全に扱う - RevComm Tech Blog
                                                                              • Python3.7でCrean Architectureを実現する - Qiita

                                                                                先日あるプロジェクトで、python 3.7を利用したクリーンアーキテクチャの設計を行いました。 その時に得た知見を紹介したいと思います。 基本的に、この記事ではDDDに関しての説明はこの連載を参考していきます。 Domainモデル ValueObject 参考記事によるとValueObjectでは、次の6つの要素を持つものである、と定義されています。 No 値オブジェクトの特徴 説明

                                                                                  Python3.7でCrean Architectureを実現する - Qiita
                                                                                • quicktypeとdaciteでJSONとPythonのdataclassの変換を手軽に書く - Qiita

                                                                                  背景 Python で外部サービスとAPI連携する際、JSON をパースするシチュエーションは多々あるかと思います。 パースって退屈ですし、ハッカソンのような特にスピード求められる状況ではあまり時間をかけたくないですよね。 今回は JSON を手軽に Python の dataclass に変換する方法を紹介します。 なお、この記事で紹介するコードは GitHub で公開しています。 https://github.com/gaiax/quicktype-dacite-demo 利用するライブラリ タイトルの通り quicktype と dacite というライブラリを主に利用します。 quicktype JSON などのサンプルデータの型を推測し、対応する言語で出力するライブラリ。 https://github.com/quicktype/quicktype npm パッケージとして公開さ

                                                                                    quicktypeとdaciteでJSONとPythonのdataclassの変換を手軽に書く - Qiita