タグ

2024年6月14日のブックマーク (47件)

  • 【BigQuery】テーブルの種類を整理してみる | NHN テコラス Tech Blog | AWS、機械学習、IoTなどの技術ブログ

    BigQueryのテーブルの種類 標準のBigQueryテーブル(物理テーブル) BigQueryストレージに格納された構造化データ 標準テーブル パーティション分割テーブル クラスタ化テーブル テーブルクローン テーブルスナップショット 外部テーブル(仮想テーブル) BigQueryのサービス外に格納されたデータを参照するテーブル BigLakeテーブル オブジェクトテーブル BigLake以外の外部テーブル ビュー(仮想テーブル) SQLクエリを使用して定義される論理テーブル ビュー マテリアライズドビュー マルチステートメントクエリの一時テーブル(一時テーブル) データセット外のBigQueryによって管理される一時的なテーブル 標準のBigQueryテーブル(物理テーブル) BigQueryでクエリの対象になる、標準のBigQueryテーブルです。 構造化データが含まれており、Bi

    【BigQuery】テーブルの種類を整理してみる | NHN テコラス Tech Blog | AWS、機械学習、IoTなどの技術ブログ
    sh19910711
    sh19910711 2024/06/14
    "オブジェクトテーブル: メタデータへのクエリから得られる情報は少なく、画像やPDFなどの非構造化データをリモート関数やBigQuery MLを利用して分析できることがオブジェクトテーブルの強み"
  • What’s Next for the Upcoming Apache Spark 4.0? (今後のApache Spark 4.0には何が期待されるのか?) - APC 技術ブログ

    セッションの要約 Apache Spark 4.0のリリースが近づいており、新機能やバグ修正によりユーザーエクスペリエンスが向上します。注目点はANSIモードとデータハンドリングの改善で、Sparknet GAの導入により多言語サポートが強化され、軽量なクライアントライブラリ「spark-connect」が登場します。文字列照合機能とストリーミングの強化により、データセットの操作が直感的になります。さらに、APIとUDFの改善、プロファイリングやログ記録機能の強化が開発者の効率を向上させます。 Apache Spark 4.0:ANSIモードとデータハンドリングの強化 Apache Spark 4.0のリリースが近づいており、開発者体験が大幅に改善することが予想されています。主な焦点は、ANSIモードとデータハンドリングの顕著な改善に基づいています。 Spark Connect がGAに

    What’s Next for the Upcoming Apache Spark 4.0? (今後のApache Spark 4.0には何が期待されるのか?) - APC 技術ブログ
    sh19910711
    sh19910711 2024/06/14
    "Spark 4.0: Go、Rust、Scala 3をはじめとする多くの言語をサポート / 新たに導入された軽量クライアントライブラリ「spark-connect」は、Pythonだけに依存し、JVMには依存していません"
  • CNNの特性を知らずに使って,あなたがCNNに畳み込まれるその前に - Qiita

    はじめに 以前先人様の忠告により vim を矢印キーで利用していたせいで命を狙われた経験をしたので,失態は犯すまいと思っていたのだが,今度は仲間だと思っていた CNN に命を狙われてしまうことになったのでこれを遺言として書き記しておく. 私が背負ってしまった罪とは,CNN の畳み込み層とは画像内で行列ライクな窓を掛け算しながらただラスタスキャンっぽく動かすと画像の特徴が得られる便利屋だと思っていたというものである.5 年以上も CNN を使っておきながら,完全に特性を忘れてしまっていたのである. あなたが今これを読んでいるということは,私と同じ罪を犯していたということであろうか.今すぐ CNN から離れて今一度 CNN の特性を学ばなければあなたは 3dConvolution によって執拗に畳み込まれて人間かどうかを判定するだけのバイナリ情報として一生を終える ことになってしまう. CNN

    CNNの特性を知らずに使って,あなたがCNNに畳み込まれるその前に - Qiita
    sh19910711
    sh19910711 2024/06/14
    "遷移先に全ての情報を入れるわけでは決してない / パラメータ共有: 丸を検出するために用いられるフィルタがあったとして,それは画像内の他の位置の丸を検出するのにも有用な可能性が高い" 2022
  • {wakefield}パッケージの学習記録 - 霞と側杖を食らう

    【学習動機】 人工データを作るとき, いつもテキトーに思いついた乱数で作っているが, 楽にできないかと思っていたら, 偶然, Rの{wakefield}パッケージを発見した. データセットを乱数で発生させるパッケージのようだが, 日語で説明をしているものは見当たらないので, 自分でメモを記録しておくことにした. パッケージの公式ドキュメント[https://cran.r-project.org/web/packages/wakefield/wakefield.pdf] パッケージ製作者のブログがあって, ほとんどそれの模倣と簡単な情報追加なので, 英語が読めるならそちらのほうが良いかもしれない. Random Data Sets Quickly | TRinker's R Blog Wakefield: Random Data Set (Part II) | TRinker's R Bl

    {wakefield}パッケージの学習記録 - 霞と側杖を食らう
    sh19910711
    sh19910711 2024/06/14
    "{wakefield}: データセットを乱数で発生させるパッケージ / r_data_frame関数でデータフレームを作成できる. 最初にnを設定. あとはベクトルを作る関数を並べるだけ / r_dummyで1,0のダミー変数で変数の生成もできる" 2019
  • 回帰問題でのDropoutの悪影響とその対策 - statsuのblog

    背景・目的 回帰問題をNNで解くときにDropoutとBatchNormを使わない方が良いという話を聞いた。 回帰問題をNNで解くときはドロップアウトとBatchNormは使わないほうがいいって話、あまり知られてない気がする Pitfalls with Dropout and BatchNorm in regression problemshttps://t.co/RNfCj5cqsB— Tsultra (@Tsultra_K) 2021年7月30日 Pitfalls with Dropout and BatchNorm in regression problems | by Søren Rasmussen | Towards Data Science 回帰問題でDropoutを使うことによる影響を検証し、その対策について検討する。 (BatchNormの検証はしていない。) 注意 汎化性

    回帰問題でのDropoutの悪影響とその対策 - statsuのblog
    sh19910711
    sh19910711 2024/06/14
    "Dropout適用後の分散の変化 / 回帰問題でDropoutを使うと、正解値の絶対値が大きいときに推定値が小さくなる傾向 + に非線形層(ReLUなど)があるとその効果は特に顕著" 2021
  • scikit-learn で数値・カテゴリ・テキストのカラムが混在する表データに fit, transform できる前処理パイプラインを作成する - Quvotha’s blog

    はじめに scikit-learn で数値・カテゴリ・テキストのカラムが混在する表データをうまいこと扱える前処理パイプラインの作り方を紹介します。 scikit-learn にはデータの前処理パイプラインを組むのに有用なクラスが色々備わっているにも関わらず、知名度が微妙だなと感じたことが紹介のモチベーションです。 記事に登場するコードは Google colab のこちらの Notebook で動作確認しました。 前処理対象のデータ 飲店のレビューデータをイメージした表形式のデータです。 味 接客 価格 性別 コメント 普通 悪い 4381 女 nan 美味 最高 nan 女 nan 美味 悪い 4152 女 パスタが美味しい 美味 最高 4363 nan 清潔で雰囲気が良いお店です 美味 最悪 3416 男 nan 美味 最高 3296 女 nan 美味 最悪 3523 男 nan

    scikit-learn で数値・カテゴリ・テキストのカラムが混在する表データに fit, transform できる前処理パイプラインを作成する - Quvotha’s blog
    sh19910711
    sh19910711 2024/06/14
    "scikit-learn にはデータの前処理パイプラインを組むのに有用なクラスが色々備わっているにも関わらず、知名度が微妙 / 適用したい前処理パイプラインを単一のオブジェクトとして表現" 2022
  • NPUを限界まで使い切って400FPSで物体(パイロン)検出する - Qiita

    1080P120のビデオをSBC(ROCK5B)で推論している動画です。平均で360FPS程度出ているので、3倍速で再生されています。これなら高速移動体からも正確にパイロンへの距離が認識出来ます。 目次 NPUとは? 高速推論を実行するまでの流れ Yolov5での学習 Export RKNN形式への変換 Edgeデバイスでの推論 NPUとは NPUは、Neural Processing Unitの略称で、AI専用のプロセッサーです。NPUは大量の計算を並列処理することに特化しており、機械学習に専用設計されたチップであるため、GPUよりも効率的に処理を実行できます。NPUを使うことで、画像認識や自然言語処理などの機械学習タスクを高速に実行することができます。最近は、IntelやAMD、モバイルデバイス向けに多く組み込まれるようになってきています。 今回利用するするROCK5Bに搭載されている

    NPUを限界まで使い切って400FPSで物体(パイロン)検出する - Qiita
    sh19910711
    sh19910711 2024/06/14
    "NPU: 大量の計算を並列処理することに特化しており、機械学習に専用設計されたチップ / 現状、ベンダー毎に提供されるAPIを利用したりモデルの変換の手間がありますが、低消費電力で超高速推論が可能" 2023
  • GitHub Copilot Chat 舐めていた - ちなみに

    marketplace.visualstudio.com GitHub Copilot と直接会話できる Copilot Chat 、皆さん使ってますか? 私は最近まともに使い始めました。 Copilot と言えば補完だけだと思っている人、以前ちょっとだけ触れて使えないと思った人(僕です)、いまのバージョンをもう一度触ってみてください、めっちゃ便利になっている。 www.youtube.com この動画が出来ることを追いかけるのに良さそうなので見てください。 ベースモデルがGPT-4に変わったりとかいろいろ変化はありますが、便利なのは Participant や Context の概念が入ったことだと思います。 Participantは @workspace みたいなやつで、Chat-GPTにおける GPTs みたいなやつ。例えば @workspace ならいま開いているプロジェクトについ

    GitHub Copilot Chat 舐めていた - ちなみに
    sh19910711
    sh19910711 2024/06/14
    "Participant: いま開いているプロジェクトについての情報をローカルで集めてくれて俯瞰的でかつトークン制限を超えた回答ができる / Context: 特にここを見てくれというのを明示的に伝えられる"
  • Issue作成だけで後の工程は全てお任せ!GitHub Copilot Workspaceのテクニカルプレビューを触ってみた | DevelopersIO

    Issue作成だけで後の工程は全てお任せ!GitHub Copilot Workspaceのテクニカルプレビューを触ってみた こんにちは。リテールアプリ共創部のきんじょーです。 待ちに待った GitHub Copilot Workspace のテクニカルプレビューへ招待が来たので、早速試してみました。 GitHub Copilot Workspace とは GitHub Copilot Workspaceは、自然言語で記載した Issue を元に、仕様の策定から実装、ビルド、デバッグなど、その後の工程を Copilot が自動的に実行してくれる開発者向けの AI ツールです。 現在はテクニカルプレビューの段階で Waiting List に登録することで順次利用することができます。 ユーザーマニュアルも公開されているため、詳しく知りたい方はこちらをご覧ください。 試してみた 以前、AWS

    Issue作成だけで後の工程は全てお任せ!GitHub Copilot Workspaceのテクニカルプレビューを触ってみた | DevelopersIO
    sh19910711
    sh19910711 2024/06/14
    "Issue の画面から右のOpen in Workspaceで Copilot Workspace を起動 / Commit メッセージや PR のタイトル、本文は自動生成 / さらに修正が必要な場合、Copilot Workspace で追加の修正ができ、そのコミットがこの PR に追加"
  • SSII2024 [SS1] 拡散モデルの今 〜 2024年の研究動向 〜

    Scaling Rectified Flow Transformers for High-Resolution Image Synthesis / Stable Diffusion 3

    SSII2024 [SS1] 拡散モデルの今 〜 2024年の研究動向 〜
    sh19910711
    sh19910711 2024/06/14
    "Consistency Models: ゼロから学習するのではなく学習済み拡散モデルを利用 / 拡散モデル: これまではU-Netベースが基本だった + Transformerベースが現在は使われてきている + 様々なモダリティで研究されており拡張がしやすい"
  • feed_squeezerを作った - くりにっき

    これなに? モチベーション 使った技術 工夫ポイント 配布形式をどうするか GoGoogleライクな検索クエリで文字列マッチするような関数を作った 取得したフィードを一瞬だけキャッシュする バイナリにviewを同梱する 最近のエコシステムに乗っかる 2024/06/14 13:28 追記:ブコメレス これなに? RSSフィードを任意のキーワードで絞り込んだ結果をさらに別のフィードとして返すためのproxy的なウェブアプリです。 github.com モチベーション 僕はSlackで色々なRSSフィードを購読しています。 YouTubeのチャンネルにもRSSフィードが存在しているのでSlackで購読しています。 例えば 東映アニメーション公式YouTubeチャンネル - YouTube にはプリキュアをはじめとして様々な動画が公開されています。その中でプリキュアに関係する動画だけをSlac

    feed_squeezerを作った - くりにっき
    sh19910711
    sh19910711 2024/06/14
    "GoでGoogleライクな検索クエリで文字列マッチするような関数 / participleは汎用的なパーサーライブラリなので使うのが難しかったのですが、ChatGPTに助けてもらいながら実装"
  • 物理数学:群論の軽い説明

    リー群は群論の一部 これから「リー群」または「リー代数」と呼ばれる分野について説明したいと思う.リー群は「群論」と呼ばれる数学の一部分ではあるが,独立した一分野のような広がりを持っている.群論の教科書を開いてみても「リー群」の話は紹介程度にしか載っていないことが多い. 群論の初歩については分かりやすいも多く出ているので,私が説明する必要を感じない.群論を学ぶには多くの具体例を知っておくのがいいと思う.私はできるだけさっぱりとまとめて説明したい質(たち)なので,多くの具体例をいちいち紹介するような説明が苦手なのである. しかし「リー群」というのが何なのかを説明するためには,「群論」というのがそもそも何なのかを少しくらいは説明しておく必要がある.読者はこの先を読み進む前に群論の教科書を何冊か,それぞれの教科書を分かるところまで読んでおいてもいいが,予備知識がほとんどなかったとしても,私のざっ

    物理数学:群論の軽い説明
    sh19910711
    sh19910711 2024/06/14
    "どうやら数学は「実用的な目的」のようなものをほとんど意識していないらしい / これらの組み合わせをもとにして広がる論理が面白かったので,こんなにも発展したのだろう" 2013
  • Firefox、オンデバイスAIで画像のAltテキストを自動生成する実験的機能を導入、スクリーンリーダーのユーザーに利便性

    Firefoxの開発元であるMozillaは、Webページ上の画像のAltテキストをオンデバイスAIモデルを使用して自動的に生成する実験的な機能を、9月にリリースされる予定のFirefox 130で導入することを明らかにしました。 この機能は、Firefoxに搭載されているPDFエディタの一部となる予定です。 最終目標としては、Webページを音声で読み上げるスクリーンリーダーを使用している視覚障害者などのユーザが一般的なブラウジングで利用できるようにすることとされています。 オンデバイスAIでAltテキストを生成する理由 画像のAltテキストは、Webページで画像が表示できないときに、画像の代わりに使われるテキストの情報です。しかし、Altテキストが設定されていない画像は多くのWebページで存在します。 今回のMozillaの取り組みは、こうしたAltテキストが設定されていない画像を含むW

    Firefox、オンデバイスAIで画像のAltテキストを自動生成する実験的機能を導入、スクリーンリーダーのユーザーに利便性
    sh19910711
    sh19910711 2024/06/14
    "Webページ上の画像のAltテキストをオンデバイスAIモデルを使用して自動的に生成する実験的な機能を、9月にリリースされる予定のFirefox 130で導入 / 蒸留済みGPT-2とVision Transformer"
  • Googleの「NotebookLM(ノートブックLM)」業務RAGの代わりになるのか試してみた。

    2024年6月6日、Googleが「NotebookLM(ノートブックエルエム)」 を日語でも提供開始しました。AI関連で次々に新しいサービスがでてきます。 これだけ次々といろいろなサービスが出てくると、企業がなにか生成AIをつかったあたらしいサービスを展開しようとしてもGAFAM(ガーファム)がこぞってサービス展開をする中、独自のポイントやニッチさがないと日の企業がどんどん差別化ポイントを出すのが難しくなってきています。 今回は、実際にNotebookLMを使ってみたうえでの、使用シーンを模索してみました。 NotebookLMとは? 簡単に言うなれば資料を基に会話できるAIということです。 この文章だけみると簡易的なRAGかな?という印象です。 NotebookLMとは NotebookLM は、ユーザーの思考をサポートするパーソナライズされた AI コラボレーターを提供します。ド

    Googleの「NotebookLM(ノートブックLM)」業務RAGの代わりになるのか試してみた。
    sh19910711
    sh19910711 2024/06/14
    "知識を与えるというよりかは、「先にAIに資料を読み込んであとで見方を教えてもらう」みたいな印象 / FAQ作成が非常に便利 / 共有ができるので「人と人がブレストするときの補助として使う」というのが最適そう"
  • しゃくとり法を Rust のイテレーターで扱うライブラリを作ってみた - Qiita

    はじめに 競技プログラミングで、しゃくとり法 (Two-pointer) を使いたくなることがあります。 その場で短く実装しようとすると、いろいろな操作を 1つのループ中に書きがちです。うっかりバグらせてしまうことも多いです。 そこで、先人の実装を参考に、Rust で動くしゃくとり法ライブラリを作ってみました。 Haskellでしゃくとり法を攻略する 尺取り法の最強ライブラリを作った。 - isyumi_netブログ このライブラリが実用的かどうかは分かりません。「しゃくとり法を部品に分けて考える」ことの練習になるはずです。そんな紹介記事です。 2024年エイプリルフールのネタ記事でもあります。 記事で行うこと しゃくとり法の簡単な紹介と、複数の関数に分ける考え方を示します Rust のイテレーターで扱うライブラリを 3通り実装します 「A. 有効な区間のみ返す」Iterator トレイ

    しゃくとり法を Rust のイテレーターで扱うライブラリを作ってみた - Qiita
    sh19910711
    sh19910711 2024/06/14
    "Two-pointer: 短く実装しようとすると、いろいろな操作を 1つのループ中に書きがちです。うっかりバグらせてしまう / 変数が何を指すかが参考実装によって異なりがち + 問題にあわせて実装を更新する際に混乱しやすい"
  • 地図のWikipedia!OpenStreetMapのデータをPythonで簡単にダウンロードできるPyrosmとleafmapを使ってみよう! - Qiita

    地図のWikipedia!OpenStreetMapのデータをPythonで簡単にダウンロードできるPyrosmとleafmapを使ってみよう!PythonOpenStreetMapQiitaEngineerFesta2022leafmapPyrosm OpenStreetMapって? OpenStreetMap(以下、OSM)とは、誰でも自由に利用でき、なおかつ自分で編集することも可能な地図のWikipediaとも呼ばれるサービス・プロジェクトです。 OSMは例えば、自社サイトで社の位置を示す時の背景地図として利用したり、検索機能を使って近隣のコンビニの位置を取得したり、登録された道路のデータを使って(めちゃくちゃ頑張れば)カーナビが作れたりするかもしれない、そういったプロジェクトになります。 印刷してプロジェクトの報告書の挿絵に使ったりもできます。 (GoogleMapは基有料。)

    地図のWikipedia!OpenStreetMapのデータをPythonで簡単にダウンロードできるPyrosmとleafmapを使ってみよう! - Qiita
    sh19910711
    sh19910711 2024/06/14
    "Pyrosm: OSMのデータをPythonで直接ダウンロードし、GeoPandasのGeoDataFrameに変換 / OSM: 一番小さい区分けは関東や四国など / e-Statでは東京都の行政界をshapefileで公開 + 市区町村・町丁目などのほか面積などの情報も格納" 2022
  • データ可視化記述フォーマットVega(Vega-lite)とPythonバインディングのAltair - Qiita

    描画設定とデータが入ったJSONをぶっ込むと一意にプロットされるmatplotlibが欲しい — 塩こんぶ (@mojaie) 2016年10月23日 あった https://t.co/YoUCTeWzl5 https://t.co/n19jmsIywA — 塩こんぶ (@mojaie) 2017年1月22日 プロットのデータ自体はJSONなのでオフラインWebアプリとJupyter notebookでいろいろアレできそう https://t.co/cnyorF2TDA https://t.co/6rQsW4fqck — 塩こんぶ (@mojaie) 2017年1月22日 仕事で実験装置が吐く大量のデータから大量の棒グラフや折れ線グラフを書いてレポーティングするルーチンがよく発生するので、プロットを自動化する必要があった。あとJupyter notebookでグラフを作成したい。ついでにD

    データ可視化記述フォーマットVega(Vega-lite)とPythonバインディングのAltair - Qiita
    sh19910711
    sh19910711 2024/06/14
    "共通フォーマットで可視化 / 今後各言語に対応したVegaパーサの開発が進めば、D3やmatplotlibなど各プログラミング言語の可視化ライブラリに特有の文法や細かい表示の違いに悩まされること無く ~ " 2017
  • 不均衡データに対するClassification - Qiita

    分類問題のなかには、ラベル0が90%、ラベル1が10%といったデータが不均衡のケースが存在します。特段の工夫をせずに分類モデルを生成すると少数派の分類精度の低いモデルになることが知られています。分類モデルの目的が多数派の識別であれば深刻な問題にならないのですが、こうした不均衡データを取り扱う場合は、少数派データの識別が目的のケースが多いので、工夫が必要とされます。 論は、過去の研究によって提案されている方法のうち、1)アンダーサンプリング、2)オーバーサンプリング、3)コスト関数のカスタマイズについての実装結果とその効果について報告します。 アンダーサンプリング アンダーサンプリングとは、少数派のデータ件数に合うように多数派データからランダムに抽出する方法です。この方法の良いところは直感的でわかりやすいことでしょう。 多数派のデータからのリサンプリングは、DataFrameであればsam

    不均衡データに対するClassification - Qiita
    sh19910711
    sh19910711 2024/06/14
    "工夫をせずに分類モデルを生成すると少数派の分類精度の低いモデルになる / アンダーサンプリング: 多数派データの特徴量の分布が崩れてしまう + 元の分布が維持されているほうがモデルの精度にいい影響" 2017
  • PyTorchで始める物体検出:Yolo 9000 Better, Faster, Stronger - Qiita

    誰向け 高速に物体検出をしたい人 論文の内容を理解したい人 コードで実際に動作させてみたい人 コードと論文の関係性を把握したい人 先に読んだ方が良い記事 物体検出に関する用語が多いためDeepに理解する深層学習による物体検出 by Kerasのssdの説明より前の部分を読むと理解の準備が出来ると思います。 Yolo9000が達成したことを3行で表すなら 精度向上:バッチ正規化、アンカーの追加、高解像度、シグマ関数による制約、K-meanを用いた最適なアンカーボックスの決定、フィルターの増加、マルチスケーリングなどによって精度向上 高速化:パラメータが少なくなるDarkNetを採用し計算量を減らし、さらに事前学習モデルによって学習時間を短くした 分類クラスの増加(9000):検出用のデータセットがなくても同一のドメインのデータセットがあれば多数のクラスの物体検出が可能なことを示した。この論文

    PyTorchで始める物体検出:Yolo 9000 Better, Faster, Stronger - Qiita
    sh19910711
    sh19910711 2024/06/14
    "Fast-RCNNに比べ、Yoloでは検出位置のRecallが低かった / 近年では深く、大きいネットワークの方が精度がよくなる傾向にありますがYolov2は精度と速度を保つためにあえてそのようなアプローチはしていません" 2017
  • 国際人工知能オリンピックのサンプル問題を解いてみた

    国際人工知能オリンピック(IOAI)が今年第1回の開催を迎えるとのことで、公式HPに紹介されているサンプル問題を解いてみます。 IOAIについて 今年から始まる、科学オリンピックのうちの1つです。今年はブルガリアのブルガスで開催されるようです。 肝心のコンテストの内容ですが、科学ラウンドと実践ラウンドの2つがあります。科学ラウンドは機械学習、深層学習に関するipynbが提供され、それを解きます。実践ラウンドはChatGPTを始めとするGUIアプリケーションを活用した科学的な問題について考察します。 いわゆるKaggle的なコーディング要素が求められるのは前者の科学ラウンドのようです。 競技AIというとKaggleの印象が強いですが、IOAIはどんな事を問われるのか気になるところです。 公式HPには3問掲載されていました。 NLPタスク(言語モデルの訓練、論文の再実装) NLPタスク(単語埋

    国際人工知能オリンピックのサンプル問題を解いてみた
    sh19910711
    sh19910711 2024/06/14
    "IOAI: 今年から始まる科学オリンピック / 科学ラウンドは機械学習、深層学習に関するipynbが提供され、それを解きます / 実践ラウンドはChatGPTを始めとするGUIアプリケーションを活用した科学的な問題について考察"
  • Hono[炎]っていうイケてる名前のフレームワークを作っている

    Cloudflare Workersは「CDNのエッジで動く」という特徴だけでなく「サーバーレス」の環境としても非常に優秀です。プロジェクトの作成からデプロイまで「4ステップ」で出来ます。 自動的に {project-name}.{user-name}.workers.dev といったURLを発行してくれて、すぐさま公開されます。この手軽さとスピード感はヤバい。スクリプトのサイズが1MB以内、使えるAPIが極端に限られているなど制約がありますが、それはそれで単一機能のシンプルなアプリケーションを作る気にさせてくれます。 さて、このCloudflare WokersでWebアプリを作っていたのですが、だんだんとCloudflare Workersに特化した「Webアプリを作るためのフレームワーク」を作りたくなってきました。手段の目的化です。ということで作り始めました。「Hono[炎]」という

    Hono[炎]っていうイケてる名前のフレームワークを作っている
    sh19910711
    sh19910711 2024/06/14
    "Cloudflare Workersは「CDNのエッジで動く」という特徴だけでなく「サーバーレス」の環境としても非常に優秀 / だんだんとCloudflare Workersに特化した「Webアプリを作るためのフレームワーク」を作りたくなって ~ " 2022
  • Pythonによるキーフレーズ抽出(KPE)アルゴリズムの比較 - Qiita

    最近、業務で文章からキーフレーズを抽出するアルゴリズムを選定する機会があったので、その際に調べたアルゴリズム間の比較を簡単にまとめておこうと思います。 環境 Ubuntu 22.04; Intel Core i7 9700K Python3.10 比較したアルゴリズム すべてアルゴリズムを1から実装はせず、Pythonを使ってパッと試せるアルゴリズムをいくつか試しました。カッコ内はライブラリ名です。自分で中身を書かなくてもこれだけの数のアルゴリズムをライブラリから利用できるのは嬉しいですね。 YAKE (textacy) SGRank (textacy) sCAKE (textacy) TextRank (textacy) RAKE (rake-ja) MultipartiteRank (pke) PositionRank (pke) TopicRank (pke) textacy内のアル

    Pythonによるキーフレーズ抽出(KPE)アルゴリズムの比較 - Qiita
    sh19910711
    sh19910711 2024/06/14
    "質を定量的に確かめるのは難しい / 実行時間はRakeがダントツ + 質もまあまあ / 最後3つがかなり遅くなっているのはグラフ系アルゴリズムだからということもありそう + キーフレーズとして良いものが出ている印象" 2022
  • pyfastnoisesimd を tf.data.Dataset 化して procedural noise でオーグメンテーションしたい - Qiita

    pyfastnoisesimd を tf.data.Dataset 化して procedural noise でオーグメンテーションしたいDeepLearningTensorFlowPyTorchflaxprocedual-noise この記事は創作+機械学習 Advent Calendar 2021の13日目に参加しているものです。 コードはGistにアップロードしてあります。 注記 厳密な理論に基づいた記事ではありません まともな実験すらできてません 何をするのか、なぜするのか procedural noiseと呼ばれるノイズ画像のジャンルがありそれを無限に生成するデータセットを作ってオーグメンテーションに利用します。procedural noiseの生成にはpyfastnoisesimeライブラリを用い、それを tf.data.Dataset でラップします。TensorFlowを使

    pyfastnoisesimd を tf.data.Dataset 化して procedural noise でオーグメンテーションしたい - Qiita
    sh19910711
    sh19910711 2024/06/14
    "ノイズを画像に加算するというのは伝統的 ~ 形状を持ったノイズを乗せた方が性能がでるんじゃ / 「ターゲットが写っていないことを保証できるデータセットがあればオーグメンテーションに使い放題」みたいな感覚" 2021
  • SSII2024 [SS2] 最適輸送の基礎から最近の動向まで

    9 National Institute of Informatics POT の使用例: 簡単に使えます • POT ライブラリを使えば簡単に最適輸送を求められる • 数値例: 二つの正規分布からの点群の比較 import numpy as np import matplotlib.pyplot as plt import ot # POT ライブラリ n = 100 # 点群サイズ mu = np.random.randn(n, 2) # 入力分布 1 (青) nu = np.random.randn(n, 2) + 1 # 入力分布 2 (オレンジ) a = np.ones(n) / n # 点重み (1/n, ..., 1/n) b = np.ones(n) / n # 点重み (1/n, ..., 1/n) C = np.linalg.norm(nu[np.newaxis] -

    SSII2024 [SS2] 最適輸送の基礎から最近の動向まで
    sh19910711
    sh19910711 2024/06/14
    "確率分布の山を移動させて一致させるのにかかるコスト / 最適輸送: 点群(確率分布)どうしの距離を求める + 点の対応関係を得る + 点群から点群への変換方法を得る / POT: 簡単に最適輸送を求められる + 計算量は三乗"
  • Spacyでお手軽NLP / NLP with spacy

    2018/06/13のレトリバセミナーのスライドです

    Spacyでお手軽NLP / NLP with spacy
    sh19910711
    sh19910711 2024/06/14
    "displaCy: いい感じな画像を作ってくれる + 固有表現抽出と係り受け解析の結果を可視化 + SVG形式の画像が出力 / Spacyには自分でTaggerやParserを学習できる機構が組み込まれている" 2018
  • Stockmark-100BをMLXでローカルで動かしてみた

    はじめに Stockmark-100BをMLXを使ってローカルのMacBook Proで動かして遊んでみました。 なお、Instructモデルについては、AdapterをMLXでうまく動かすことができていません。うまく解決したら追加で記事化したいと思います。 今回は、MLXでの量子化のやり方について少し詳しく解説しています。 環境 Apple M3 MAX (128GB) 推論中のpythonプロセスのUnified Memory消費量はざっくり最大で以下のとおりでした 4bit : 51GB 8bit : 96GB Python 3.10 3.9以前では動作しないと思われますのでご留意ください。 ライブラリ 以下を使っています。特にバージョン指定しないpipインストールで問題なく動作します。 mlx_lm MLXはAppleが提供する機械学習(特にDeep Learning)用のフレーム

    Stockmark-100BをMLXでローカルで動かしてみた
    sh19910711
    sh19910711 2024/06/14
    "mlx_lm: MLXを用いてhugging faceのLLMを動かしてくれます + Unified MemoryとGPUを活用し高速に学習・推論 / mlx_lm.generateだとrepetition_penaltyをかけられないため、途中から同じ回答を繰り返すようになってしまい"
  • NeRF-RPN:NeRF上で物体検出する技術

    はじめに こんにちは。ZENKIGEN DSチームに所属しているはまなすです。DeNA AI技術開発部より[1]、業務委託という形で主に深層学習系の開発に携わっています。 今回は、ニューラルネットワークを用いて3次元空間を表現する NeRF という技術に基づいた、立体空間内で物体検出をおこなう手法 NeRF-RPN についてご紹介します。 研究は昨年末に発表されたものですが、今のところ実験結果が限定的であるため、直ちに実応用に展開されているわけではありません。一方で、今回ご紹介するような『NeRFの上に積み重なる手法』は、NeRFを活用する土壌をさらに拡大させる一翼を担っていくことが期待されます。 近年は表現技術としてのNeRFそれ自体の発展が目覚ましいですが、NeRF-RPN は、その上で『なにをするか』を充実させるためのひとつの基礎研究となるでしょう。 ▼ NeRF-RPN はなにを

    NeRF-RPN:NeRF上で物体検出する技術
    sh19910711
    sh19910711 2024/06/14
    "立体空間内で物体検出 + NeRFの上に積み重なる手法 / NeRF: ニューラルネットワークの表現力を高精細で破綻の少ない空間表現に上手く活用 + それを実現するために微分可能で効率的な学習フレームワークを提案" 2023
  • CNNによる画像分類:背景の影響を低減させる正則化 - Qiita

    はじめに CNNを用いた画像分類モデルを構築するときに、認識したい物体をちゃんと認識したモデルを作るのは結構難しかったりします。特に学習に用いるデータが少なくて偏りがあると以下の例のように画像の背景に基づいた分類モデルになってしまうこともあり得ます。 画像引用:https://arxiv.org/abs/1602.04938 この記事では画像の背景の影響を少しでも減らして認識したい物体を認識したモデルを作るための手法として、Orthogonal Sphere Regularizationという正則化があったので試してみます。 今回の記事で参考にした論文はこちら↓ 使用したコードは以下のGitHubリポジトリに置いてあります。PyTorchCNNを構築し、学習はGoogle ColaboratoryのGPUを用いて行なっています。 Orthogonal Sphere Regularizat

    CNNによる画像分類:背景の影響を低減させる正則化 - Qiita
    sh19910711
    sh19910711 2024/06/14
    "CNN: 学習に用いるデータが少なくて偏りがあると以下の例のように画像の背景に基づいた分類モデルになってしまう / OS Regularization: 背景の空の部分の重要度が減少したことが良い効果をもたらした感じ / ord=fro" 2022
  • Neural Architecture Searchを用いて出品違反検知モデリングを高速化したお話

    Presented at MLCT #10

    Neural Architecture Searchを用いて出品違反検知モデリングを高速化したお話
    sh19910711
    sh19910711 2024/06/14
    "強化学習でRNNの重みを最適化 + 生成された子モデルのシグナルを使ってパラメータ更新 / DARTS: アーキテクチャの最適化を微分可能にすることでRNNを不要に / 月単位で行われていた開発を週単位に落とした" 2019
  • 【論文】Filter Response Normalization Layer: Eliminating Batch Dependence in the Training of Deep Neural Networks - Qiita

    【論文】Filter Response Normalization Layer: Eliminating Batch Dependence in the Training of Deep Neural Networks機械学習DeepLearningBatchNormalization 【論文編】では論文の軽いまとめを掲載します 【検証編】では PyTorch を使って実装してみて効果が期待できそうか確認をします(作成中) あまりまともな精度が出なかったのでやめます(すみません) 実装: https://github.com/yukkyo/FilterResponseNormalizationLayer-PyTorch 0. 導入 今話題の [1911.09737] Filter Response Normalization Layer: Eliminating Batch Depende

    【論文】Filter Response Normalization Layer: Eliminating Batch Dependence in the Training of Deep Neural Networks - Qiita
    sh19910711
    sh19910711 2024/06/14
    "Batch Normalization: batch-size が小さかったり sample 間に相関があると悪影響 + Batch Renormalizationとか Group Normalizationとかが提案 / FRN: 既存の 正規化(ex. BN) + 活性化関数(ex. ReLU)を置換" 2019
  • Amazon BraketでS3のライフサイクルルールの最適化にチャレンジ - Qiita

    はじめに S3のストレージクラスを適切に設定することはコストの最適化に繋がります。 ある程度分析可能な過去データがある場合であれば、ストレージクラス分析によってライフサイクルを決定することができますが、新規構築の場面などではそれが難しく、一度運用してから調整する流れになるかと思います。 今回は事前にある程度リクエスト数を想定して、その際にどのようなS3配置を取ればいいのかシミュレーションする方法を検討してみました! 新しい技術としてAmazon Braketを使用しており、Braketの使用感を確認したい方、定式化の方法を確認したい方にもお楽しみいただける記事です。 やりたいこと 以下のようなケースを考えてみたいと思います。 総計1000GB分のオブジェクトがあり、それらをS3 Standard、S3 Standard-IA、S3 Glacier Instant Retrievalに分類す

    Amazon BraketでS3のライフサイクルルールの最適化にチャレンジ - Qiita
    sh19910711
    sh19910711 2024/06/14
    "リクエスト数を想定して、その際にどのようなS3配置を取ればいいのかシミュレーション / QAOA: 量子ゲート方式 + 対象と制約の和が最小となるように式を組み立て/ Braket: 料金体系はタスク数とshot数に依存"
  • LL(1)言語を作るのは難しい、しかしLL(1)言語は素晴らしい

    言語実装 Advent Calendar 2022の6日目です。 記事ではLL(1)の素晴らしさと難しさについてDesk言語の開発の体験から語ります。 LL(1)とは LL(1)についてご存知でしょうか。 「LL(1)言語」「LL(1)文法」「LL(1)パーサ」でそれぞれ定義がありますが、一番分かりやすい「LL(1)パーサ」をざっくりいうと、ソースコードの頭から順番にトークン(ifや1や{など)を見ていきながらASTを構築するための情報を集める[1]パーサのうち、現在見ているトークンの種類を確認するだけで(それ以上の先読みなしに)ASTのノードの種類(IfやIntegerLiteralやBlock)を決定できるもののことです。 そしてLL(1)パーサでパースできるのがLL(1)文法であり、LL(1)言語であるというのがざっくりした説明です[2]。 次は、LL(1)パーサ(言語)のメリット

    LL(1)言語を作るのは難しい、しかしLL(1)言語は素晴らしい
    sh19910711
    sh19910711 2024/06/14
    "「LL(1)言語」「LL(1)文法」「LL(1)パーサ」でそれぞれ定義 / LL(1)パーサ: 現在見ているトークンの種類を確認するだけで(それ以上の先読みなしに)ASTのノードの種類を決定できるもの" 2022
  • ArcFaceの仕組み

    角度を用いた距離学習を説明してます。 基的な理論の部分はSphereFaceで説明しています。 最終的にArcFaceの仕組みを理解できるようにするのが目標です。 ArcFaceについては優れた紹介記事がすでにありますが、角度による距離学習がどういったものか、marginを与えるとなぜうまくいくのかを基礎から説明しています。少しでも理解のお役に立てますと幸いです! 間違っている部分があったら、教えていただけますと非常に嬉しいですm(_ _)m

    ArcFaceの仕組み
    sh19910711
    sh19910711 2024/06/14
    "ArcFace: Softmaxの直前の層の捉え方を工夫 + Softmax Lossによって学習された特徴量は本質的には角度によって分布している + ユークリッド距離を元にした方法は適さない" 2019
  • Kaggleで多くの実験を回すためにやっている簡単なこと

    はじめに こんにちは。fkubota(Kaggle Expert 20201001現在)です。先日公開したKaggle日記の記事が好評だったので、調子に乗ってもう一つ。 今回は、僕が行っているとても簡単だけど効果が大きいKaggleの実験高速化の話です。おそらく当たり前すぎてこれまで記事にされなかったのかもしれませんが、これから積極的にKaggleに参加したいビギナーのために書きます。今回も、キラキラした画期的な特徴量エンジニアリングではなく、泥臭いテクニックを話します。 なぜ多くの実験を行いたいか 言うまでもないですが、多くの実験を行ったほうが勝つ確率は上がります。僕は今回の鳥コンペが初画像コンペでしたのでより多くの実験を行って勘所をつかむ必要がありました。案の定、Pytorchの癖をはじめはつかむことができず、コンペの1/3はPytorchのお勉強に使ってしまいました。 とにかく、ビギ

    Kaggleで多くの実験を回すためにやっている簡単なこと
    sh19910711
    sh19910711 2024/06/14
    "工夫を入れるのは「既存のコードを編集してアイデアを形にしていく」の部分 / 言い換えれば動かないコードを動くようにする / ノートブックの上方にDEBUGという変数を用意 + データをすべてメモリに載せる必要はない" 2020
  • Semantic segmentation 振り返り

    論文紹介 DISN: Deep Implicit Surface Network for High quality Single-view 3D Reconstruction / DISN: Deep Implicit Surface Network for High quality Single-view 3D Reconstruction

    Semantic segmentation 振り返り
    sh19910711
    sh19910711 2024/06/14
    "CNN: 深い層にいくにつれて見る範囲が広がり、高レベルな特徴が抽出 + 解像度が失われていく / 似ているクラスを正確に分類するためにはglobalな特徴(context)が重要 + 輪郭を正確にsegmentationするにはlocalな特徴が重要" 2019
  • LookerStudioのタイムライングラフで時間帯の比較をする - notebook

    LookerStudioのタイムライングラフ 最近使えるようになったので色々触ってみようということで触っていた タイムライン グラフのリファレンス - Looker Studioのヘルプ support.google.com 使い方はドキュメントに記載があるのでポチポチやっていればそれっぽい感じに可視化できる この時期にこういうイベントがあったなどのような情報が視覚的に把握しやすい Togglのデータの可視化 自分はTogglのAPI(v2)をたたいてそのデータをBigQueryにExport、Dataformで整形してLookerStudioで可視化しているのでそのデータをタイムラインにしてみた データのサンプル ほとんどTogglのレスポンスと合わせている name description start_date 開始日付(2024-05-01) project Togglのプロジェクト

    LookerStudioのタイムライングラフで時間帯の比較をする - notebook
    sh19910711
    sh19910711 2024/06/14
    "TogglのAPI(v2)をたたいてそのデータをBigQueryにExport / タイムライングラフ: この時期にこういうイベントがあったなどのような情報が視覚的に把握しやすい / この時間帯はーっていうのがはっきりわかりやすくできた"
  • “自由度0のt分布”をNumpyroで実装してみる - ぱぐみの部屋

    記事は、『確率的プログラミング言語 Advent Calendar 2023』の15日目の記事になります。(アドベントカレンダーを主催していただいた松浦さんに感謝です!!) 今回は、論文『Log-Regularly Varying Scale Mixture of Normals for Robust Regression』で提案されている、外れ値を含んだデータの回帰分析に有用な“自由度0”のt分布と、Numpyroでの実装方法をご紹介します。 一般的な回帰分析 一般的なベイズ(線形)回帰分析では、以下の式を考えます。 $$ \begin{gather*} y_i = \alpha + \sum_{k=1}^Px_{i,k}\beta_k + \varepsilon_i \ (i=1,\dots,N) \\ \varepsilon_i \sim N(0, \sigma^2) \end{g

    “自由度0のt分布”をNumpyroで実装してみる - ぱぐみの部屋
    sh19910711
    sh19910711 2024/06/14
    "外れ値を含んだデータの回帰分析 + 誤差項𝜀𝑖の分布に正規分布を用いると、𝛼や𝛽𝑘の推定に大きく影響してしまう / 正規分布よりも裾が厚い分布を用いることで、より外れ値に頑健な推定が可能" 2023
  • GPy(Pythonのガウス過程用ライブラリ)の使い方 - StatModeling Memorandum

    概要 GPyを用いて、サンプルパスの生成、ガウス過程回帰、クラス分類、ポアソン回帰、Bayesian GPLVMを実行しました。自分用のメモです。 参考資料 [1] 公式ページ [2] 公式のチュートリアル [3] Gaussian Process Summer Schoolsの資料 理論的背景は上記の[3]を参考にしてください。日語でもガウス過程の解説がMLPシリーズから豪華著者陣で出るようです。超期待しています。 以下のサンプルプログラムは基的に[2]を元にしています。しかし、古くてそのままでは動かないプログラムや分かりにくいプログラムを少し加工修正しています。なお、環境は以下の通りです。 Windows 7 64bit Python 3.5.2 :: Anaconda 4.2.0 (64-bit) GPy 1.5.5 サンプルパスの生成 RBFカーネルで適当に定めたパラメータの値

    GPy(Pythonのガウス過程用ライブラリ)の使い方 - StatModeling Memorandum
    sh19910711
    sh19910711 2024/06/14
    "ガウス過程回帰: カーネルを定める→モデル作成→最適化 / GPy: 足したり掛けたりするだけで複雑なカーネルを作ることができる / ガウス過程はデータ点の数Nの逆行列を求める必要があり、その部分にN^3のオーダー" 2016
  • PK戦での各試行に及ぼす影響をrstan でやってみる - 驚異のアニヲタ社会復帰の予備

    PK 戦の順序が勝ちやすさに影響するか考えたかったけど、データを集めた時点で先攻が勝つ確率が50% だったので、いろいろな条件のもとでのPK の成功率を考えていた。 stan でやってみる。 PK は10人が蹴るまでに終わるとする(154試合1389回)。 各PK での成功率は である。これが、1人目から10人目までのうち 番目のキッカーに対して、以下の影響(係数) があるとする。 :切片。他の影響が何もないときの基礎成功率。 :直前の相手の成功(1)/失敗(0) による影響。直前の相手の成功/失敗は のベルヌーイ試行とする。 :直前の味方の成功(1)/失敗(0) による影響。直前の味方の成功/失敗は のベルヌーイ試行とする。 :PK の回が進むに連れて受ける影響。 にそのまま線形に乗ずる。 :そのPK を成功すると勝利、もしくは、失敗すると敗北のフラグに関する影響。そのPK の成功/失敗

    PK戦での各試行に及ぼす影響をrstan でやってみる - 驚異のアニヲタ社会復帰の予備
    sh19910711
    sh19910711 2024/06/14
    "PK の順番係数が有意に負なので、全体的にPK の回が進むと、成功率は下がる / 順番は効果量が小さいが信用区間が狭く、PK の順番が進むごとに1.6% 成功率が下がる / 勝ちフラグ時には86%、負けフラグ時には51% の成功率" 2017
  • {purrr} でリストデータを操作する <1> - StatsFragments

    R で関数型プログラミングを行うためのパッケージである {purrr}、すこし使い方がわかってきたので整理をしたい。RStudio のブログの記載をみると、とくにデータ処理フローを関数型のように記述することが目的のようだ。 purrr 0.1.0 | RStudio Blog The core of purrr is a set of functions for manipulating vectors (atomic vectors, lists, and data frames). The goal is similar to dplyr: help you tackle the most common 90% of data manipulation challenges. ここでいう"関数型プログラミング言語"とは Haskell のような静的型の言語を想定しており、型チェック、ガ

    {purrr} でリストデータを操作する <1> - StatsFragments
    sh19910711
    sh19910711 2024/06/14
    "{purrr}: Haskell のような静的型の言語を想定 + 型チェック、ガード、リフトなど / そもそも R は Scheme の影響をうけているためか、関数型らしい言語仕様やビルトイン関数群 Map, Reduce, Filter などをすでに持っている" 2015
  • Japan.R 2015: {purrr} による非テーブルデータの処理

    Oracle Modern Data Platform Reference Architecture (Autonomous Data Warehouse編)

    Japan.R 2015: {purrr} による非テーブルデータの処理
    sh19910711
    sh19910711 2024/06/14
    "そのままではdata.frameにできないデータを扱いたい / データの処理にはパターンがある / {purrr}: ラムダ式 + パイプ演算子で接続できる関数群 + .(ドット)が引数に対応 / {broom}: モデルをdata.frameにする" 2015
  • LDAでは何故ディリクレ分布を仮定するのか - SELECT * FROM life;

    LDAについて勉強してみた結果の雑記。間違っている可能性もあるので注意されたし。 LDAにおける文書モデル LDA(Latent Dirichlet Allocation)では文書は次のようにして生成されると考える 準備 文書dは高々K個のトピックzから成る K面のトピックサイコロを作る 各面のでかたの分布をで表す V個の単語wがある トピックごとに語サイコロを作る(V面サイコロをK個作る) 例えば「スポーツ」トピックのサイコロでは「経済」トピックのサイコロに比べて「サッカー」の面が出やすい、などの違いがある 文書生成 トピックサイコロをふってトピックを決定する 出たトピックの語サイコロを振って語を決定する 文書ごとにふるサイコロの割合は違う(なぜならが文書ごとに異なるから) 例えば「スポーツ」トピックが高めの文書では「スポーツ」トピックのサイコロを多めにふる 1, 2を繰り返す 文書完成

    sh19910711
    sh19910711 2024/06/14
    "共役性: ある尤度関数に対して、事後分布の形が事前分布と同じ / ディリクレ分布は多項分布に対する共役性 / LDA: 目の出方がディリクレ分布 + サイコロの試行は尤度関数が多項分布 + 事後分布がディリクレ分布になる" 2011
  • ノンパラメトリックベイズ入門 - Qiita

    ノンパラメトリックベイズのことを最近勉強したので頭の整理もかねてまとめてみました。 特に専門でもないので間違いがあったら指摘していただけると助かります。 モチベーション ノンパラメトリックベイズは簡単に言えば無限次元のベイズモデルです。(パラメータがない訳ではないです)理論自身はかなり前からもう既に大体出来ていて2000年代になってから機械学習の文脈でそれが使えるってなってきたらしいです。 例えばクラスタリングをするとき普通、混合数を指定します。しかしノンパラメトリックベイズでは一旦、無限個のクラスターがあると考えることで自動的に混合数が決まります。 具体的にいうと下のようなgifのようになります。 色が同じだと同じクラスターとしています。クラスター数を指定している訳ではないですが上手くクラスタリングできていることが分かると思います。今回はこの無限混合モデルの実装を目標とします。 コードは

    ノンパラメトリックベイズ入門 - Qiita
    sh19910711
    sh19910711 2024/06/14
    "観測できるのは𝑥だけですが、本当は真の𝑧(ラベル)を知りたい / 有限混合モデルの場合、基本的には𝑧と𝜃に関してGibbs samplingする / アルゴリズムを整理すると ~ K-meansっぽくなっていることが分かる" 2016
  • pythonのジェネレータは、yieldの有無ではなく、「yieldで返したか否か」で決まる。

    次の記事を読んだ。 細かすぎて伝わりにくい、Python当の落とし穴10選+α - Qiita 総評としては、機構を把握せず(何故そういう挙動になるのかを理解せずに)に表面から入ろうとするとそうなるかもなあ、というものが多い。 なかでも気になったのがこれ。 (このように、ジェネレータ関数は def で定義します。これは通常の関数と同じですよね。違いは関数定義の中に yield があるかどうかです。 表面上はそう視えるが、実際には若干違う。 import dis def f1(): yield 1 def f2(): return 1 print(dis.dis(f1)) print(f1) print(f1()) print(dis.dis(f2)) print(f2) print(f2()) 4 0 LOAD_CONST 1 (1) 2 YIELD_VALUE 4 POP_TOP 6

    pythonのジェネレータは、yieldの有無ではなく、「yieldで返したか否か」で決まる。
    sh19910711
    sh19910711 2024/06/14
    "dis.dis: バイトコードとインスタンスの種類を確認 / yield: 関数の実行を動的に中断して関数内のコンテキストを保存し値を返す / ジェネレータ関数という仕様を追加せずにジェネレータ機能を実装" 2021
  • Julia言語と Plots + GR で複素関数のgifアニメーションを作る - Optie研

    1. この記事について やりたいこと やること 2. 下準備 パッケージのインストール IJulia Plots GR LaTeXStrings ProgressMeter 3. プロット & アニメーション importとヘルパー関数など 例1. $z=w^2$ 関数化 例2. $w=\frac{1}{z}$ 例3. $w= \sin z$ 例4. $w=\tan z$ 例5. $w=e^z$ 例6. $w = \log z$ 例7. $w= \mathrm{sin{h}} z$ 例8. $w=z^\frac{1}{3}$ 4. まとめ 5. 参考文献 1. この記事について やりたいこと 最近, 趣味で複素解析の初歩などを勉強しているのですが, ある複素数 $z,w$を $ \begin{cases} z=x+yi \\ w=u+vi \end{cases} $ とおくと, 複素関数

    Julia言語と Plots + GR で複素関数のgifアニメーションを作る - Optie研
    sh19910711
    sh19910711 2024/06/14
    "複素関数はそのふるまいを直観的に理解することがやや難しい / 「x-y平面上で図形をアニメーションさせて, それがu-v平面上でどのように動くか」を見る / using: モジュールの名前空間ごと Main に持ってくる" 2018
  • 「状態空間時系列分析入門」をRで再現する

    sh19910711
    sh19910711 2024/06/14
    "講師の偉い先生が「中味はただの行列演算だから、とにかく一度全部自分でプログラミングしてみなさい、パッケージに頼らずに」と述べていて ~ いまにして思えばあのアドバイスは正しかった" 2014
  • Stanを使ってNUTSを実装する | Sunny side up!

    この記事は、Stan advent calendar 2018の7日目の記事です。 Stan、すばらしいソフトですね。今日はStanがいかに素晴らしいかを語る記事です。StanにはNUTSというアルゴリズムが搭載されいているのはご存知だと思いますが、今回の記事は、 Stanを使ってRにNUTSを実装する という話です。「ちょっと何言ってるかわかんない」、とか言わない。 さて、NUTSはマルコフ連鎖モンテカルロ法(MCMC)の手法の一つ、ハミルトニアンモンテカルロ法(HMC)を発展させたものだ、というのは聞いた人も多いと思います。そこで、MCMCやHMCについて簡単に説明したあと、Stanが搭載しているアルゴリズムについて解説していきます。 なお、数式とかは使わず、全部日語で説明していきます。数式で詳しいものはいくらでもあるので、そちらをご参考ください。たとえばこちら。 ◆マルコフ連鎖モン

    sh19910711
    sh19910711 2024/06/14
    "MCMC: 推定するのはパラメータの事後分布 + 解析的に求めるのは困難 / 推移確率をうまく設定してやることで事後分布そのものはわからなくても事後分布からの乱数を得る / NUTS: No-U-turn samplerの略 + Uターンしない" 2018