タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

*algorithmと*programとpythonに関するsh19910711のブックマーク (236)

  • PyTorchのEmbeddingの挙動についてまとめてみた - DROBEプロダクト開発ブログ

    はじめに CTOの都筑(@tsuzukit2)です この記事では PyTorchEmbedding の挙動について記載します Embedding とは何か 公式の仕様書はこちらになります Embedding - PyTorch 1.9.0 documentation 公式の説明は以下となっており、非常に的を得ていると思います A simple lookup table that stores embeddings of a fixed dictionary and size. 意訳すると、 固定長の辞書埋め込みを保存するシンプルなルックアップテーブル になるんじゃないかなと思います。Embedding は、何だか難しそうにも思えてしまうのですが、ここに記載されている通り非常にシンプルなテーブルでしかないという事です モジュールの解説としては以下のように記載があります This mod

    PyTorchのEmbeddingの挙動についてまとめてみた - DROBEプロダクト開発ブログ
    sh19910711
    sh19910711 2023/07/21
    "loss.backward 実行するとはじめて emb.weight.grad に値がはいります / ただし、ここでもまだ weight 自体は更新されていません / optimizer.step() を実行する事で emb.weight.grad から計算された値を使って weight が更新されます"
  • データ分析コンペにおいて 特徴量管理に疲弊している全人類に伝えたい想い

    Α͋͘Δύλʔϯʢ�JQZOCʣ ϚϚͷҰาΛࢧ͑Δ w ಛ௃ྔ࡞Δ� DPM���<�Z �" �# �$ �%�>��ˠ��<�Z �" �# �$ �% �& �'�����> # e.g) train['A'] = train['A'].fillna(0) train['B'] = np.log1p(train['B']) train['E'] = train['A'] + train['B'] df_group = train.groupby('D')['E'].mean() train['F'] = train['D'].map(df_group) <��> ɾ� ɾ� ɾ

    データ分析コンペにおいて 特徴量管理に疲弊している全人類に伝えたい想い
    sh19910711
    sh19910711 2023/06/16
    "列ごとに特徴量をpickleファイルで管理する / 生成時、同時に特徴量メモを作成する / 1つのスクリプトファイルに特徴量生成をまとめる / 学習に使用した特徴量とパラメータを管理することで再現性も担保" / 2019
  • scikit-learnで5行でできる類似テキスト検索

    この記事はKaggle Advent Calendar 2022の16日目の記事です。 0.はじめに KaggleではShopeeやH&Mコンペなどの(e-)commerceに関連した、類似商品検索やレコメンド系のコンペが度々開催されます。 これらのコンペには商品名や商品画像、ユーザーの購入履歴といったデータが含まれており、商品・ユーザーベースの特徴の抽出を行う必要があります。さらにその特徴を用いて候補となる商品を並び出して、機械学習を用いて最終的に出力する商品を予測します。 記事では、このようなコンペの第一歩として、商品名などテキストに注目した特徴抽出をscikit-learnを主に使った手法を紹介します! なお、私自身コンペを通して学んだことを書いているので、誤りやより良い方法もあるかと思います。何かあればコメントで共有していただけると助かります🙇 1.類似テキスト検索 類似テキス

    scikit-learnで5行でできる類似テキスト検索
    sh19910711
    sh19910711 2023/05/17
    cumlにもNearestNeighborsあるのか / "最近傍探索のメソッドとしてsckit-learnではNearestNeighborsが提供 / fit()でテキスト特徴を入力 + kneighbors()で近傍探索を行いたい変数を入力 / cumlを用いた高速な類似テキスト検索" / 2022
  • Stable Baselinesを使ってスーパーマリオブラザーズ1-1をクリアするまで - Qiita

    はじめに 強化学習でゲームを解くことに興味があってちょっとずつ勉強している強化学習苦手勢です。Advent Calender 用に何かゲームの攻略について書いてみることにしました。OpenAI が公開している Stable Baselines の紹介とそれを使ってスーパーマリオブラザーズ 1-1 をクリアするところまでやりましたという内容です。OpenAI Gym / Baselines 深層学習・強化学習 人工知能プログラミング 実践入門を参考にました。 Stable Baselines は OpenAI が公開している強化学習アルゴリズムの実装セットです。多くの有名な手法を利用しやすい形で提供しています。強化学習アルゴリズムは実装時に仕込んでしまったバグの検出が難しく、学習が上手くいかない時に問題を切り分けにくくしています。Stable Baselines のような標準化された実装を使

    Stable Baselinesを使ってスーパーマリオブラザーズ1-1をクリアするまで - Qiita
    sh19910711
    sh19910711 2023/03/07
    "Stable Baselines: OpenAI が公開している強化学習アルゴリズムの実装セット / スーパーマリオブラザーズのゲームプレイ上意味のある行動は ~ 12 種類に限られる / 半分程度のマリオはゴール少し前の穴を越えられておらず" 2020
  • mlflowとluigiによるML実験管理例 - Qiita

    はじめに 記事ではMLの実験を行うときの、コード、パラメータ、モデル、評価結果を管理するための構成例を紹介します。 サンプルコードはこちら 前提知識 Must python docker Want mlflow luigi 思想 前処理を加えたデータや学習したモデルなどプログラムで出力されるファイルは全てmlflowの管理下におく。 コードはgitで管理し、実験結果とcommit hashを紐づける。 前処理、学習、推論などタスク同士の依存関係を管理して、依存しているタスクを自動で実行できるようにする。また、既に実行されたタスクは実行しないようにする。 構成概要 titanicのdataに対して、前処理、学習、推論を行う例を紹介する。 ディレクトリ構成は以下のような感じ。 src/tasks/下に前処理などの具体的なタスクを行うファイルを作成する。 tomlファイルで実行するタスクを指定

    mlflowとluigiによるML実験管理例 - Qiita
    sh19910711
    sh19910711 2023/03/07
    2021 / "mlflow + luigi / 前処理を加えたデータや学習したモデルなどプログラムで出力されるファイルは全てmlflowの管理下に / 実験結果とcommit hashを紐づける / mlflow.sklearn.autologを用いることで、Metricsなどがいくつか自動で保存"
  • Captumを試す - Qiita

    PyTorch Developer Conference 2019 で発表されたものの中に、 Captum というライブラリがあります。 解説記事が見当たらなかったので、実際に動かして記事を書いてみました。 まだ beta であり、かつ積極的に開発されているようなので、今後動作が変わる可能性は十分にあると思います。 Captum とは? Captum とは、機械学習モデルを解釈し、理解するための手法をまとめたライブラリです。 ラテン語で、"理解する" という意味らしいです。 実装されている手法は以下のとおりです。 https://captum.ai/docs/algorithms 入力が出力に及ぼす影響を評価 Integrated Gradients Gradient SHAP DeepLIFT DeepLIFT SHAP Saliency Input X Gradient * Guide

    Captumを試す - Qiita
    sh19910711
    sh19910711 2023/03/05
    2019 / "Captum: モデルを解釈し理解するための手法をまとめたライブラリ + ラテン語で、"理解する" という意味らしい + PyTorch Developer Conference 2019 で発表 / Issue に興味深いDiscussion がある"
  • AIモデルのsafetensors形式とは何者か?ckptと比較しつつ解説する

    1,そもそもckpt形式のモデルファイルはどのようにデータを保存していたのか safetensors形式はckpt形式の様々な欠点の改善を目的として作られたデータ保存方法であり、HuggingFaceが主導しています。 そのため、safetensorsの利点を説明するにはまず従来のckptで何がアカンかったのか、ckptのデータ保存方法から読み解く必要があります。 .ckpt拡張子とpickleの関係 画像生成AI関連のモデルでよく目にする.ckptという拡張子は、「pickle」というPythonのモジュールを用いて直列化して保存されたデータに用いられる拡張子です。 データを直列化(バイト列に変換する)ことを「pickle化」・「ピクル化」と呼びます。 逆に、バイト列からデータを復元することを「非pickle化」「非ピクル化」といいます。 pickleモジュールを使って、例えば以下のよう

    sh19910711
    sh19910711 2023/03/05
    ".ckpt: 「pickle」というPythonのモジュールを用いて直列化して保存 / 悪意あるpickleオブジェクトを生成することが可能 / safetensors: HuggingFaceが主導 + 純粋なテンソル以上のものを保存できるが、カスタムコードは保存できない"
  • TabPFN - Qiita

    初めに このシリーズでは、機械学習数理最適化などの数理モデルのざっくりとした理論と実装コードを紹介します. 今回紹介するのは,TabPFNというテーブルデータのためのTransformerモデルです.論文では「小さな表形式データに対して1秒以内に教師あり分類タスクを実行でき,ハイパーパラメータのチューニングがいらない高精度のモデル」と紹介されています.精度としてはOpenML-CC18というデータセットの中の30個のデータセットでGBDTの性能を上回ったほか,AutoMLに対して同等の精度を70倍の速度で達成したそうです. 論文:TabPFN: A Transformer That Solves Small Tabular Classification Problems in a Second 目次 1. 概要 2. ざっくり理論 3. 実装 4. おわりに 5. 参考文献 1. 概要

    TabPFN - Qiita
    sh19910711
    sh19910711 2023/02/19
    2022 / "TabPFN: テーブルデータのためのTransformerモデル / PFN: ベイジアンニューラルネットワークと構造的因果モデルに基づき表形式データの根底にある複雑な特徴量の依存性と潜在的な因果構造をモデル化"
  • Parquet+Petastormを使って画像分類モデルをSparkで学習させてみました! - CCCMKホールディングス TECH Labの Tech Blog

    こんにちは、CCCMKホールディングス技術開発の三浦です。 最近寒い日が続いています。寒いと温かい飲み物が欲しくなりますが、近ごろは緑茶を飲むようになりました。お湯を入れたらすぐに飲むことが出来る粉末タイプのものもあって、気軽に楽しむことが出来ます。 今回の記事は分散処理フレームワークSpark周りについて調べた内容です。普段深層学習モデルの分散学習をDatabricksを通じ、Sparkクラスタで行っています。その中で最近少し引っかかっていたのが画像やテキストなどのモデル学習用データを読み取る処理がボトルネックになっている点でした。この部分をどう改善すれば良いのかなかなか分かりませんでした。 今のデータの入力処理は特にSparkの特徴を活かしきれているとは言えず、TensorFlowやPyTorchのDataLoaderを通じて都度画像ファイルやテキストファイルを読み込んでモデルに入力さ

    Parquet+Petastormを使って画像分類モデルをSparkで学習させてみました! - CCCMKホールディングス TECH Labの Tech Blog
    sh19910711
    sh19910711 2023/02/09
    "Petastorm: 深層学習モデルにParquet形式のデータをDataLoader経由で入力 / make_torch_dataloader()というメソッドがあり / このオブジェクトの__enter__()を呼び出すとPyTorchのDataLoaderが得られます"
  • 機械学習における反実仮想説明(Counterfactual Explanations)を生成するライブラリ“DiCE”を活用したサービス開発についての考察 - AREKORE

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

    機械学習における反実仮想説明(Counterfactual Explanations)を生成するライブラリ“DiCE”を活用したサービス開発についての考察 - AREKORE
    sh19910711
    sh19910711 2023/01/28
    2021 / "DiCE: 予測結果に対して異なる結果が得られたであろう「入力の特徴量を変動させたサンプル」を生成 / 反実仮想を考慮し、意思決定の対象者が望ましい結果を得るために次に何をすべきかを決定するのに役立ちます"
  • 1ペタバイトのデータセットで機械学習する / WebDataset入門

    深層学習をする上で、最も大切なマシンスペックを聞かれたら何と答えますか? GPUのTensor性能、VRAM、GPUの数、CPU性能、メモリ、… 問題によって正解は異なりますね。 しかし、特に大規模なデータセットで機械学習する場合では、しばしばネットワーク帯域とストレージシステムのディスクI/Oによって制限されます。この記事ではそのような課題に対して、学習側でどのようにデータを扱うかを見ていきたいと思います。 1. この記事は? こんにちは、TURING MLチームです。TURINGはEnd-to-Endな深層学習モデルでLv5完全自動運転車の開発を目指す会社です。 私たちは自動運転モデルを動かすため、可視域のカメラセンサによる画像で学習し、カメラ映像のみから車体の操作や経路選択、安全性の判断を行わせています。(実際の車を動かす事例はこちらの記事をご覧ください。) そのため、機械学習のため

    1ペタバイトのデータセットで機械学習する / WebDataset入門
    sh19910711
    sh19910711 2023/01/20
    2022 / "WebDataset: 任意のストレージシステムにデータを数十~数百MBごとにシャーディング(分割)して配置 + 将来的にPyTorchのサブパッケージとして取り込まれるための提案がなされています / aws/amazon-s3-plugin-for-pytorch"
  • PyTorch-BigGraph: A Large Scale Graph Embedding System

    2025-04-24 "Manga AI Understanding & Localization" Furukawa Arata (CyberAgent, Inc)

    PyTorch-BigGraph: A Large Scale Graph Embedding System
    sh19910711
    sh19910711 2022/12/30
    2019 / "PyTorch-BigGraph: Billion-Trillionサイズのエッジを持つグラフに対してGraph Embeddings / torch.distributed.{send/recv}を利用 / SysML 19: Adam Lerer, Pytorch-BigGraph: A Large Scale Graph Embedding System"
  • 最適化② - イラストロジックをortoolsで解いてみる - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    最適化② - イラストロジックをortoolsで解いてみる - Qiita
    sh19910711
    sh19910711 2022/12/29
    "行方向、列方向で、問題に即して連続する黒を担保する必要 > 本稿では、CP-SATのoverlap制約を使用して実現 / 各interval変数の開始、終了値が重ならないよう制約してくれる"
  • Amazonのデータセットで始める商品検索

    この記事は 情報検索・検索技術 Advent Calendar 2022 の7日目の記事です。 はじめに 今年の夏、Amazonが多言語 (英語スペイン語、そして日語) のラベル付きの商品検索のデータセットを公開しました。 論文: https://arxiv.org/abs/2206.06588 リポジトリ: https://github.com/amazon-science/esci-data 情報検索において商品検索は、ウェブ検索を作りたいという企業より商品検索を作りたい企業の方が多いという意味で、ポピュラーなトピックだと思います。ところが公開データで実験を行おうとするとドメインが違うウェブ検索のデータセットか、ラベルのない商品カタログか、ラベルはあるけど小規模なデータセットかという限られた選択肢しかなく、仕方がないので非公開の独自データセットを作って実験を行うという状況でした。

    Amazonのデータセットで始める商品検索
    sh19910711
    sh19910711 2022/12/07
    "検索システムを賢くしたいという人々の願いがミドルウェアにPythonサポートやcross-languageの機能を追加させて、Pythonを組み込むことが容易に / 来年以降はこのデータセットを使った提案手法がたくさん世に出てくる"
  • RLlib を使ってナップサック問題を強化学習 - なんとなくな Developer のメモ

    ナップサック問題へ強化学習を適用すると、どうなるのか気になったので試してみました。 強化学習には、Ray に含まれている RLlib を使い、Jupyter Notebook 上で実行します。 Ray 0.8.7 今回のサンプルコードは http://github.com/fits/try_samples/tree/master/blog/20200922/ はじめに 以下のようにして Ray と RLlib をインストールしておきます。(TensorFlow も事前にインストールしておく) Ray インストール > pip install ray[rllib] ナップサック問題 今回は、以下のような価値と重さを持った品物に対して、重さの合計が 35 以下で価値の合計を最大化する品物の組み合わせを探索する事にします。 価値 重さ 105 10 74 7 164 15 32 3 235 22

    RLlib を使ってナップサック問題を強化学習 - なんとなくな Developer のメモ
    sh19910711
    sh19910711 2022/12/01
    2020 / "ナップサック問題へ強化学習を適用すると、どうなるのか / 状態: 品物毎の個数 + 行動: 個数を操作 + 報酬: 価値の合計 / gym.Env: step で状態の更新と報酬の算出 / DQN: PPOTrainer の代わりに DQNTrainer を使うだけ"
  • EvoTorch触ってみた | Webシステム開発/教育ソリューションのタイムインターメディア

    先日,EvoTorchという進化計算ライブラリが公開されました(HP, Docs, GitHub, PyPI).名前ですぐに気が付くかもしれませんが,Pythonのオープンソース機械学習ライブラリPyTorchと密接に関係があります. EvoTorchは,PyTorchと同じPythonのオープンソースライブラリで,PyTorchの上に直接構築されています.この記事は,リリース直後でほぼ英語しか情報が出てこない,EvoTorchを触ってみた雑感を書いていきます. 資料,例題が複数用意してあって良い 自分が見た限り,以下の7つの例題が公開されています. 最小限のシンプルな実装1最小限のシンプルな実装2GPU利用多目的最適化並列強化学習ブラックボックス最適化強化学習1強化学習2 また,Jupyter Notebookで実行可能な5つの例題が公開されています.それぞれの例題に説明があり,簡単にプ

    EvoTorch触ってみた | Webシステム開発/教育ソリューションのタイムインターメディア
    sh19910711
    sh19910711 2022/11/27
    "EvoTorch: 進化計算ライブラリ / 進化計算が良く分からなくてもプログラムを試すことができる / 例題に説明があり,簡単にプログラムを動かせる点,参考文献が明記されている点,READMEやドキュメントが整備されている"
  • PuLP で数独を解く - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    PuLP で数独を解く - Qiita
    sh19910711
    sh19910711 2022/10/30
    2014, 変数をまとめて操作できる機能あるのか / "choices = pulp.LpVariable.dicts("Cell", ... / lpSumは、配列の変数をすべて足した式を表す。総和を表すときにシンプルになる"
  • Google OR Tools で数理最適化に入門する

    数理最適化: Optimization Night #1 https://connpass.com/event/148735/ の発表資料です。 デモで用いた Jupyter Notebook は https://gist.github.com/AseiSugiyama/1fa1e4a2c3e90e1…

    Google OR Tools で数理最適化に入門する
    sh19910711
    sh19910711 2022/10/29
    2019 / "最適とは何か、その謎をあきらかにすべく我々はアマゾン奥地へ / 「とりあえず動かす」アプローチで数理最適化について復習 / ortools: グラフアルゴリズムやナップサック問題も扱える"
  • PuLP による数理最適化超入門

    数理最適化とは? 「数理最適化 (Mathematical Optimization)」あるいは「数理計画法 (Mathematical Programing)」は、変数に関する不等式や等式で表される制約の条件下で、目的の関数を最小 (あるいは最大) にする変数の値を求める問題です。 特に、制約条件と目的関数が線形方程式で表される問題を「線形計画法 (Liner Programming, LP)」とか「線形最適化」といいます。この分野には高速な解法アルゴリズム (単体法 : simplex method や内点法 : internal point method など) があって、非常に広範囲な分野で使用されています。 また、変数の値が連続的な実数ではなく、整数値しかとらない場合を「整数計画法 (integer programing)」といいます。特に、変数の値が 0 と 1 しかとらない

    sh19910711
    sh19910711 2022/10/23
    2019 / "PuLP: COIN-OR プロジェクトで開発 + 同じく COIN-OR プロジェクトで開発された CBC (COIN-OR Branch and Cut) というオープンソースのソルバーが同梱"
  • Python最適化モデルでコスパの良いクリスマスデートをシミュレートしてみよう - Qiita

    Python最適化モデルでコスパの良いクリスマスデートをシミュレートする Pythonで最適化モデルを作成して安近短なデートプランをシミュレートしてみよう。 目的 あまりお金と時間をかけずに楽しいデートにしたい。 条件 予算:月末で給料前なので5000円まで。 所要時間:平日で翌日も朝早いので7時待合わせなら12時まで。 コース:出来れば自宅マンションでクッキングデートが安近短で良い。 参考データ 政府統計e-Stat 曜日,男女,ライフステージ,一緒にいた人,時刻区分別行動者率 この統計データから人気のコースを集約し、さらに経験則から時間当たりのコストや所要時間を加えて以下の表をCSV形式で作ってみた。 ninki 月2~3回はするという女性の人数(単位千) jikan、cost 普通にかかる所要時間と予算(¥/h)を経験則で付加 これをpandasでDataFrameとして取得し最適化

    Python最適化モデルでコスパの良いクリスマスデートをシミュレートしてみよう - Qiita
    sh19910711
    sh19910711 2022/10/15
    "政府統計e-Stat 曜日,男女,ライフステージ,一緒にいた人,時刻区分別行動者率 / この統計データから人気のコースを集約し、さらに経験則から時間当たりのコストや所要時間を加え"