並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 68件

新着順 人気順

pythonの検索結果1 - 40 件 / 68件

  • PythonだけでWebアプリが作れるライブラリが増えている(2024.05) - Qiita

    ※本記事で言及しているReflexのdiscord内に日本語チャンネルをつくってもらいました。もし、興味をもった人がいたら参加してみてください。 1.PythonだけでWebアプリをつくるライブラリが増えている 最近(2024.05)、Python界隈ではPythonだけでWebアプリが作れるライブラリが増えています。詳しくは他の記事を参照してもらえればと思います。 以下の記事がとても参考になりました。ありがとうございます。 2.ライブラリの分類 こうしたライブラリも大きくわけて2つの種類があるように思います。 ①データ解析の結果を表示するダッシュボードライブラリ ②汎用的なWebアプリをつくるローコードライブラリ ①ダッシュボード系ライブラリ たとえば、上記の記事にも出てきますし、ネットでもかなり情報の多い、StreamlitやDashは項番1のダッシュボードライブラリに該当すると思いま

      PythonだけでWebアプリが作れるライブラリが増えている(2024.05) - Qiita
    • インターホンをスマホに通知する方法をものすごく丁寧に説明する【Raspberry Pi Zero WH 】 - Qiita

      在宅勤務している人、多いですよね。 いつでも配達を受け取れてとても助かります。 しかし...2階で仕事をしていると、 インターホンの音が聞こえにくい! 他のことに集中していると気づかない!!!! せっかく配達に来てくれたのだから、一発で受け取りたいものです。 エンジニアらしく仕組みで解決しましょう! 忙しい人のための超要約 インターホンの室内モニタのA接点を使用します(鳴ると接点が閉じる) RaspberryPi Zero WH を用いて、A接点のオンオフによりGPIOの出力3.3VをGPIO17に印加する回路を組みます GPIO17に印加されたことをPythonスクリプトで検知します 検知したらLINE Messaging APIを使用してpush通知を送信します この説明で理解できる人は、記事全体を読む必要ないと思います。 電子工作初心者でも理解しやすいよう丁寧に書き上げたので、ぜひご

        インターホンをスマホに通知する方法をものすごく丁寧に説明する【Raspberry Pi Zero WH 】 - Qiita
      • 僕の考えた最強の Python 開発環境 (2024)

        はじめに こんにちは, 普段は情報科学専攻の大学院生をしながらバックエンドエンジニアをやっている @koki-algebra です. 普段は Go をよく書いているのですが, 大学でやっている機械学習の研究では Python を使うことがほとんどです. Go のエコシステムに慣れきった私は Python の混沌とした環境に耐えきれず, 最強の開発環境を整えることを決意しました. 具体的には Package Manager, Formatter, Linter, Type Checker, Test Tool を選定し, VSCode の DevContainer を用いてポータビリティに優れた開発環境を作ることを目指します. また, Deep Learning では GPU が必須である場合が多いので, GPU 環境も同時に整えたいと思います. 以下のレポジトリが今回考えた開発環境のテンプ

          僕の考えた最強の Python 開発環境 (2024)
        • PCの操作をすべて録画&文字起こしして過去の操作を丸ごと検索可能にするアプリ「Windrecorder」

          PCを使っていると、過去の操作内容やブラウザで閲覧していた情報を思い出したくなるタイミングが頻繁に発生します。そんな時に役立ちそうなPC操作記録アプリ「Windrecorder」がオープンソースで開発されています。 GitHub - yuka-friends/Windrecorder: Windrecorder is a memory search app by records everything on your screen in small size, to let you rewind what you have seen, query through OCR text or image description, and get activity statistics. https://github.com/yuka-friends/Windrecorder I made an o

            PCの操作をすべて録画&文字起こしして過去の操作を丸ごと検索可能にするアプリ「Windrecorder」
          • 「Bluesky」「Python」「Vim」「404」「ぬるぽ」などIT関連のかわいい高品質ロゴを作りまくる人物現る、BlueskyやReact公式が早速ロゴを実装するなど爆発的な盛り上がり

            IT関連の高品質な自作ロゴを大量に含むGitHubリポジトリが、プログラマーやゆっくり実況者として活動するさわらつき氏によって公開されました。当該リポジトリは公開直後から大きな注目を集めており、すでにBlueskyでは「Kawaiiモード」の実装が進んでいるほか、Reactの公式サイトにもさわらつき氏のロゴを表示する隠しモードが実装されています。 GitHub - SAWARATSUKI/ServiceLogos: ロゴを可愛く作ろう 節度を持って利用してくださいね🫠 https://github.com/SAWARATSUKI/ServiceLogos さわらつき氏が作成したロゴの例は以下の通り。これはPythonのロゴです。 C言語 Vim Visual Studio Code Discord GitHub 404エラー 「ぬるぽ」のロゴもあります。 これはBlueskyのロゴ。 2

              「Bluesky」「Python」「Vim」「404」「ぬるぽ」などIT関連のかわいい高品質ロゴを作りまくる人物現る、BlueskyやReact公式が早速ロゴを実装するなど爆発的な盛り上がり
            • Pythonで理解する電気回路 - Qiita

              メモ代わりに使っていきます。 https://www2-kawakami.ct.osakafu-u.ac.jp/lecture/ キャパシタとコイルの式 コイルの式 L’i(t)=V(t) 電流(t)をtで微分した後にLをかけるとV(t)となる import numpy as np import matplotlib.pyplot as plt # 定数定義 ω = 2*np.pi # 角周波数 L = 1 # インダクタンス # 時間の範囲を定義 t = np.linspace(0, 2*np.pi, 1000) # 入力電流 i_t = np.sin(ω*t) # 出力電圧 V_t = L * np.gradient(i_t, t) # プロット plt.figure(figsize=(10, 5)) plt.subplot(2, 1, 1) plt.plot(t, i_t, labe

                Pythonで理解する電気回路 - Qiita
              • 話題のローコードツール「Dify」で生成AIアプリを作ってみよう! - Qiita

                Difyって何? 少し前から話題の、プログラミングなしで生成AIアプリケーションを開発できるOSSです。 「Dify すごい」 でSNSを検索すると、驚き屋さんがみんな驚いています。このゴールデンウィークはAmazon BedrockとDifyの話題でもちきりでしたね。 元々は「GPTビルダーのOSS版ね。はい解散」という感じだったのですが、最近追加された「ワークフロー」機能がすごく便利のようです。 ちょっとしたアプリなら、ローコードで簡単に作れてしまうとのこと。 最近は自分でPCやサーバー準備して動かさなくても、SaaS版が公式から準備されたようです。無料プランもあります。 やってみた サインアップ 公式サイト右上の「Get Started」からサインアップします。 GitHub連携すると、いきなり開発画面に辿り着きました!いいUX。 「(いち?)から作成」よりワークフローを作ってみまし

                  話題のローコードツール「Dify」で生成AIアプリを作ってみよう! - Qiita
                • Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita

                  この記事ですることを3行で Pythonの標準ライブラリでできる並列実行を、あらためて総当たりで速度比較しよう ウォーターフォールチャートで、それぞれの並列処理の処理時間の特徴を可視化しよう boto3の実行をモデルケースにして、どの並列処理が一番早いのかを調べよう この記事の結論を先に Python 3.12から本格的に使えるようになったサブインタープリターは、CPUで実行する処理について言えば、従来のサブプロセスよりも高速 boto3の実行は、サブインタープリターよりも署名付きURLの非同期実行のほうが速い → S3からの10ファイルの取得であれば、実行時間を90%削減できます → Bedrockの3回実行であれば、実行時間を60%削減できます 今回使ったソースコードはこちらに置いています。 お手持ちの環境で再実行できるようにしていますので、気になる方はぜひ。 どうしてこの記事を書くの

                    Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita
                  • Pythonでリトライ処理を簡単に追加できる「tenacity」を使ってみる | DevelopersIO

                    今回はPythonで簡単にリトライ処理を追加できる「tenacity」を使ってみます。 デコレータ形式で簡単にリトライ処理を追加できるので便利です。 tenacityについて プログラムを書いていて、HTTPの通信などでリトライ処理を実装する機会は多いと思います。 今回はそんなリトライ処理を簡潔に書けるtenacityの使い方を説明します。 インストール インストールはpipで可能です。 インストール pip install tenacity 使い方 シンプルな例 シンプルな例 import random from tenacity import retry @retry def random_error(): num = random.randint(0, 10) if num > 4: print(f"Error: num={num}") raise Exception("Error!

                      Pythonでリトライ処理を簡単に追加できる「tenacity」を使ってみる | DevelopersIO
                    • PandasからPolarsへ移行した方がいいのか - Qiita

                      なぜこの記事を書くのか 皆さん、データ解析を行う際にどのようなライブラリを用いているでしょうか。 おそらく大半の人はpandasを使っているのではないでしょうか。 私もpandas使ってます。簡単だよね(´・ω・`) しかし、業務でバカクソでけえデータを読み込もうとしたときに、読み込み時間がとんでもなくかかったり、メモリ不足でそもそも読み込めもしないことが起きていました。 読み込みにメモリ食われすぎて他の作業ができずに待機した挙句、燃え尽きたかのようにノーパソのファンが止まると同時にメモリ不足のエラーが出たときには切れ散らかします。 (画像元:葬送のフリーレン公式Xアカウントのポストより) そんなこともあり、AWSなどのクラウドサービスでメモリに余裕を持たせるためにめちゃくちゃ良いインスタンスを使用していましたが、コストの問題で断念しました。 しかし、どうしても読み込みたいということもあり

                        PandasからPolarsへ移行した方がいいのか - Qiita
                      • 初心者大学生が作った機械学習ライブラリがGitHubでスター数300を超えた話 - Qiita

                        この記事について この記事では、プログラミング初心者の大学生である(であった)私が試行錯誤しながらなんとかスター数300越えのOSSライブラリを作った過程をまとめたものです。ライブラリ自体はまだまだ発展中のためこの記事も適宜更新してく予定です。ライブラリ自体の詳細というよりも、自作OSSの認知度を上げで他の人に使ってもらうために有用そうな知見をまとめていこうと思います。 ライブラリの概要 今私が作っているのは、AIJackという、機械学習モデルがもつセキュリティ・プライバシー上の脆弱性についての各種攻撃・防御手法を実験するためのPythonツールです。既存のライブラリの多くは特定の種類の攻撃や防御に特化したものが多く、複数のタイプの攻撃・防御を組み合わせて実験するためにはいくつものライブラリを組み合わせる必要がありました。そこでAIJackでは、できる限り統一的なAPIで様々な攻撃・防御手

                          初心者大学生が作った機械学習ライブラリがGitHubでスター数300を超えた話 - Qiita
                        • PHPの時代は終わった? プログラミング言語のランキングで、2001年以来の最低シェアを記録【やじうまWatch】

                            PHPの時代は終わった? プログラミング言語のランキングで、2001年以来の最低シェアを記録【やじうまWatch】
                          • Python Web UIフレームワークで作るデスクトップアプリ | gihyo.jp

                            寺田 学(@terapyon)です。2024年4月の「Python Monthly Topics」は、Python Web UIフレームワークの1つであるStreamlitを使ってWindowsやmacOSのデスクトップアプリを作る方法を解説します。 目的⁠・モチベーション Pythonで自動化のスクリプトを作ったり、JupyterLabやColaboratoryでデータの可視化を行うことがあります。これらを作成者以外の多くの方に利用してもらう方法として、Webシステムやデスクトップアプリとして提供する方法が考えられます。 Webシステムの構築やデスクトップアプリの作成となると、技術的なハードルがあります。他には、時間的なコストに見合わないという状況もあり得ます。 Python Web UIフレームワークを使うことで、比較的少ないコードでWeb UIからスクリプトの実行や可視化をするアプリ

                              Python Web UIフレームワークで作るデスクトップアプリ | gihyo.jp
                            • Go、Rust、Pythonで実装したAPIサーバーの負荷試験比較 - Qiita

                              はじめに みなさん様々な言語でAPIサーバーを立てて負荷試験を実施したことはありますか。 私自身、業務でPythonのアプリケーションに対して負荷試験を実施した経験があります。 その際にPythonの速度観点の不安定さを目の当たりにしたと同時に、別の言語ではどのような違いが生まれるのだろうか、という疑問を持ちました。 そこで今回は、簡単ではありますがGoとRustとPythonでそれぞれAPIサーバーを立てて負荷試験をしてみます。 負荷試験対象のAPIサーバー 今回は(1) Hello, World!を返すAPI(2) ファイル読み込みAPI(3)1秒待ってから応答するAPIの3つを実装します。 (1)はAPIサーバー自体の応答速度の計測、(2)はメモリを消費する処理が生じた場合のAPIの応答速度の計測、(3)は待ち時間発生している時のAPIの応答速度の計測することが目的です。 (2)につ

                                Go、Rust、Pythonで実装したAPIサーバーの負荷試験比較 - Qiita
                              • GIS に欠かせない Shapefile を深堀ってみる - Qiita

                                1. はじめに 地理情報システム (GIS) で、使用するデータとして「Shapefile 形式」でデータ提供されていることがあります。この記事では、この Shapefile が、どのような構造となっているのかについて、説明していきます。 1.1. トポロジ構造とは Shapefile について説明していく前に、まずは GIS データ等でよく利用される「トポロジ構造」について説明しておこうと思います。 例えば、トポロジ構造を持つファイルとして、次のようなものがあります。 .gdb: ESRIのファイルジオデータベースは、トポロジを含む複雑な空間データを格納することができます。 .topojson: トポロジを保存するための拡張 GeoJSON 形式で、隣接する地物間の境界を共有することでファイルサイズを削減します。 .gml: 地理マークアップ言語 (Geography Markup La

                                  GIS に欠かせない Shapefile を深堀ってみる - Qiita
                                • 【Rye + uv + Ruff】Docker で VS Code の Dev Container 上に快適な Python 環境を構築する

                                  0. はじめに 株式会社ディー・エヌ・エーに入社し,MLOps エンジニアをやっている @a5chin です. 本記事では,図 1 の様に VS Code の Dev Container 上に爆速で快適な Python 環境を構築することを目指します. 図 1: Dev Container 上で開発をすると Ruff による自動フォーマット[1]と pre-commit が走る 本記事の内容は全て上記リポジトリで簡単に試すことができるので,ぜひ clone して試して頂けたらと思います↑ Dockerfile 内で,Rye, uv, そして Ruff をインストールする手順を記述することで開発環境を標準化し,異なる環境間での一貫性を担保することができます. 0.1. 事前準備 本記事で作成したリポジトリを動かすためには,Docker Desktop と VS Code のダウンロード,VS

                                    【Rye + uv + Ruff】Docker で VS Code の Dev Container 上に快適な Python 環境を構築する
                                  • PythonのコードをWebAssemblyにコンパイルする「py2wasm」、Wasmerが発表

                                    PythonコードをWebAssemblyにコンパイルする「py2wasm」がWasmer社から発表された。WebAssembly版CPythonよりも約3倍高速だ。PythonコードをCPythonのAPIコールに変換するトランスパイラがベースになっている。 WebAssemblyランタイムの開発と提供を行っているWasmer社は、PythonのコードをWebAssemblyバイナリにコンパイルする「Py2wasm」を発表しました。 Announcing py2wasm – A #Python to #WebAssembly compiler that speeds up by 3x your Python apps!https://t.co/0v4YLZC7lY — Wasmer (@wasmerio) April 18, 2024 WebAssembly版CPythonよりも3倍高速

                                      PythonのコードをWebAssemblyにコンパイルする「py2wasm」、Wasmerが発表
                                    • Pythonグラフ入門

                                      Pythonグラフ入門# このPythonグラフ入門では、プログラミング言語Pythonを使ってグラフを描画する方法を解説しています。対象としている方は、ある程度Pythonに触れている人(リストやNumPyを使った配列を理解できるレベル)です。 サイト内の検索は、ページ上部の虫メガネのアイコンから行えます。

                                        Pythonグラフ入門
                                      • 切り抜き動画を自動生成するpythonライブラリ「clipsai」が凄すぎて夢かと思った|DIYプログラミング

                                        皆様ハロー、お小遣い稼ぎ系エンジニアのスマイルです('ω')ノ 以前、VTuberの切り抜き動画を作るのにハマっていた時期があり自動化ツールとか作っていました。 しばらく切り抜き制作からは離れていたんですが、「clipsai」という面白そうなpythonライブラリを見つけたので試してみましたら、動画のシーンを自動で検出して切り分けるという強烈な切り抜き時短ライブラリである事が発覚したので、レポートをまとめました。 記事が面白かったらフォロー&♥よろしくお願いしますm(_ _)m 使ってる様子はこんな感じ デモにはUIまで付いていますが、実際のライブラリは機能の中身だけでインターフェースは付属していません。入力画面などのフロント側まで欲しい人は自作する必要があります。 使ってみた感想実際に使ってみた感想として、良かった点・悪かった点をまとめてみました。 ここが良き!ボトルネックの自動化 :切

                                          切り抜き動画を自動生成するpythonライブラリ「clipsai」が凄すぎて夢かと思った|DIYプログラミング
                                        • pytest でテストケース毎に DB を自動的に初期化して、テスト開発体験を向上させる - SalesNow Tech Blog

                                          概要 Web バックエンドのテストコードを書く場合、その多くは DB に依存していることが多いです。 DB 関連のテストは、テストデータの準備やテストケース毎の DB 処理化を適切に行うことが重要ですが、手間がかかる場合あるため、Mock で擬似的にテストしてしまうことも多いかと思います。 ただ、Mock を使ったテストは本質的な問題を検知できない意味のないテストになってしまう可能性があり、可能な限り DB の Mock を行わずに、実際の DB を使用してテストすることが望ましいと考えています。 本記事では、pytest、sqlalchemy、PostgreSQL を使った場合に、テストケース毎に DB を簡単に初期化しつつ、テストケース毎の前提データ登録も簡単うことでテスト開発体験を向上させる方法を紹介します。 前提環境 本記事では、以下の環境を前提として説明いたします。 python

                                            pytest でテストケース毎に DB を自動的に初期化して、テスト開発体験を向上させる - SalesNow Tech Blog
                                          • Pythonの非同期処理の基礎とOpenAI APIへ並列リクエストする実践例

                                            こんにちは、commmuneでデータサイエンティストをしているひぐです。 人間が苦手なマルチタスクをLLMに任せたら、効果的に処理してくれるのではないか?というモチベーションのもと、Pythonの非同期処理を使って並列かつストリーミングでChatGPTの回答を出力するアプリを作りました🤖 例えば下記は、ある課題を入力すると、深さ・広さ・構造・時間軸という異なる観点で解像度を上げてくれるアプリケーションです。 アプリに関する登壇資料↓ このアプリ作成にあたってPythonの非同期処理を勉強したところ、最初は多くの専門用語(コルーチン、イベントループ...)や独自の記法により、全体像をつかむのに苦戦しました。一方で、学んでみると予想以上にシンプルな記法で実装できること、そして応用範囲が広くて便利だと理解しました。 この記事では、そんな少し取っつきにくけど便利なPythonの非同期処理にフォー

                                              Pythonの非同期処理の基礎とOpenAI APIへ並列リクエストする実践例
                                            • ローカルLLMはこーやって使うの💢

                                              making-the-most-of-local-llms.ipynb Sorry, something went wrong. Reload? Sorry, we cannot display this file. Sorry, this file is invalid so it cannot be displayed.

                                                ローカルLLMはこーやって使うの💢
                                              • なぜ今、大人もプログラミングを学ぶべきか?〜Pythonを用いたブロックプログラミング体験 - paiza times

                                                <この記事の著者> 上田茂雄(ueponx) - Tech Team Journal IoTと電子工作に情熱を持ち、プログラミングと最新のガジェットを好む。新しい技術を学びながら実践的なプロジェクトに取り組んでいる。技術を磨き、常に新たな挑戦。 この記事ではこれまでプログラミングの学習を行ったことのない初心者に向け、非常にハードルの低いブロックプログラミングの体験を通してプログラミングの初歩を体験する内容となります。 【目次】 なぜ今、大人もプログラミングを学ぶべきか? 1. テクノロジーに対する理解が深まる 2. 問題解決スキルの向上 3. コミュニケーションスキルの向上 4. 職業の選択肢が広がる EduBlocksとPython:初心者に易しい最初の一歩 EduBlocksの概要:ブロックベースのプログラミングとは? 初めてのEduBlocksプログラム:シンプルな例で理解する 実践

                                                  なぜ今、大人もプログラミングを学ぶべきか?〜Pythonを用いたブロックプログラミング体験 - paiza times
                                                • LaTeX と Python で作る 1 ポイントたりとも表示崩れしない最強の帳票印刷ソリューション - Qiita

                                                  元ネタ 元ネタはこちらです(以下「Figma と PHP」で略します)。 読んでなるほどと思いました。このように、誰かが苦労したおかげで後続が楽になるので感謝です。何が問題点として生じるのか、どんな解決方法が考えられるのか、が予め判明しているだけでもだいぶ楽になります。 反面、$\LaTeX$ の方が実装は簡易ではないかと思ったので、それを実践してみました。 条件と問題点 Figma と PHP の 44 ページに以下のような条件があります 改めて、満たしたい条件 ミリ単位で細かく帳票をデザインしたい。 帳票デザインの保守性を維持するためにはビジュアルデザイン必須 印刷時に見た目が一切崩れない さらに、次のような障害を次々とクリアしていってます。 文字参照の問題 枠からのはみ出しの問題 右寄せの問題 自動折り返しの問題 連票の問題(簡易な解説のみ) これらを $\LaTeX$ と Pyth

                                                    LaTeX と Python で作る 1 ポイントたりとも表示崩れしない最強の帳票印刷ソリューション - Qiita
                                                  • なっとく!関数型プログラミング を読んで関数型プログラミングを学んだ - Qiita

                                                    EDOCODEでエンジニアをしているYutakaです。 こちらは社内勉強会で発表した資料を元にしています。 関数型言語の知識がほとんどないエンジニアがなっとく!関数型プログラミングで学んだ用語を一部まとめました。原著はGrokking Functional Programmingです。本書はScalaとJavaで説明がされていますが、できる限り社内で使われている言語(Go, JavaScript, TypeScript)でサンプルコードを記載しました。 書籍のソースコードはこちらに全て公開されています。 そもそも関数型プログラミングとは? プログラミングのパラダイムには大きく①命令型プログラミング②宣言型プログラミングがあります。 ①命令型プログラミングとは どのよう(HOW)に計算するかに焦点を合わせ、段階的なアルゴリズムを詳細に定義します。これは実際のハードウェアの計算処理の流れに沿っ

                                                      なっとく!関数型プログラミング を読んで関数型プログラミングを学んだ - Qiita
                                                    • LangChainを用いた4種類のRAG質問応答chainの実装と性能比較

                                                      はじめに この記事で想定している読者の方: LangChainで簡単でもコードを書いたことがある人 LLM chainについてざっくりと理解している人 公開されているLLMをapi経由で用いて様々な処理を記述できるライブラリ 「LangChain」にて, 主に外部から文書を与える際に用いられる以下の4つのchainをご存知の方も多いと思います。 stuff chain map reduce chain map rerank chain refine chain 今回は, 実際にstreamlitを用いて4つのchainを使用したchatアプリのデモ作成し, それを用いてchainごとの性能比較を行いました! 比較では単純な応答能力の比較に加えて, 生成時間やAPI料金の観点からも比較を行なったので, ぜひ読んでみてください! TL;DR 今回の実験は以下のgif画像のようなデモアプリを用い

                                                        LangChainを用いた4種類のRAG質問応答chainの実装と性能比較
                                                      • 継続事前学習による金融ドメイン特化LLMの構築の検証 - Preferred Networks Research & Development

                                                        この記事は、金融チームエンジニアの今城(@imos)と金融チームリサーチャーの平野(@_mhirano)による寄稿です。 概要 本稿では、ドメインに特化したLLMの構築の一環として、金融ドメイン特化のLLMの構築の検証を行いました。継続事前学習によるドメイン知識の獲得を模索し、特定のドメイン向けに専用のパラメータ数が多い高性能なLLMを提供を可能にすることを目指します。 実験では、nekomata-14bとPFNで構築した金融に特化したデータセットを用いて、継続事前学習を実施しました。 継続事前学習の結果として、金融ベンチマーク性能が向上することが確認できました。 出力の差としては、Instruction Tuningを施していないため、大きな差は見られないものの、一定の差が見られるケースもありました。 継続事前学習後のモデルは、https://huggingface.co/pfnet/n

                                                          継続事前学習による金融ドメイン特化LLMの構築の検証 - Preferred Networks Research & Development
                                                        • ゼロからはじめるPython(116) 金額合計ツールでExcel要らず - 合計/整形/コピーのツールを作ろう

                                                          Excelは万能なので、商品金額をいくつか足し算したいだけでもExcelを起動することがあるだろう。しかし、業務でよく足し算するのなら専用ツールを作ってしまうと便利だ。本稿では、計算処理をしてメールに貼り付けするという一連の処理を自動化するツールを作ってみましょう。 専用の税込み金額計算ツール 汎用ツールと専用ツールを使い分けよう Excelのような汎用表計算ツールに習熟しておけば、あらゆる計算処理をExcelだけで処理できる。世界中のオフィスでExcelが活躍しているのは、その高い汎用性と豊富な機能によるところが大きいだろう。 これに対して、簡単な専用ツールを自作するならば、汎用ツールを工夫して使うよりも、何倍も効率が良く、素早くタスクを完成させることができる。専用ツールは、特定のタスクに特化させるため、操作性がよく画面もシンプルで使い勝手の良いものとなる。 それで、今回は、入力した商品

                                                            ゼロからはじめるPython(116) 金額合計ツールでExcel要らず - 合計/整形/コピーのツールを作ろう
                                                          • PyTorchやPythonなしの純粋なC言語を使用した大規模言語モデルトレーニングツール「llm.c」がリリースされる

                                                            AIの本体と言える大規模言語モデル(LLM)のトレーニングはほとんどの場合PyTorchやPythonを使用して行われていますが、そうしたトレーニングを純粋なC言語のみで実装したツール「llm.c」が登場しました。まだ最適化が行われておらず従来の手法に速度面では敗北していますが、GPT-2のトレーニングを行う実装を約1000行のクリーンなコードで行えています。 GitHub - karpathy/llm.c: LLM training in simple, raw C/CUDA https://github.com/karpathy/llm.c 作者のアンドレイ・カルパシー氏はOpenAIの創設グループの一員で、テスラのAIディレクターだった事もある人物です。 llm.cを使用することで、245MBの容量を持つPyTorchや107MBの容量を持つcPythonを使用せずに大規模言語モデル

                                                              PyTorchやPythonなしの純粋なC言語を使用した大規模言語モデルトレーニングツール「llm.c」がリリースされる
                                                            • AnthropicAI Tool で Retrieval-Augmented Generation を実装してみた

                                                              LangChain なんか使わなくてもシュッと作れたので記事にしておく。 RAG とは 生成AIに検索能力をもたせるやつ。 要は検索機能をこちらで提供してやって、AIにそれを読ませる。 AnthropicAI Tool OpenAI でいう Function Calling JSONSchema で関数シグネチャを与えると、それを使うDSLを生成する。実際の関数は自分で実装して、AI が生成した引数(JSONSchema に従う)を渡す。 TypeScript の Mapped Types でツールの実装部分に型をつける簡単なラッパーを書いた。 RAG の CLI を作る Google検索をするAPIを実装 Google Custom Engine API を使った 本文要約をするAPIを実装 Mozilla の実装を使った 与えられた URL を fetch して、その本文部分を抽出する

                                                                AnthropicAI Tool で Retrieval-Augmented Generation を実装してみた
                                                              • scikit-learn入門&使い方 ― 機械学習の流れを学ぼう

                                                                連載目次 前回は、機械学習の基礎と、主要なPythonライブラリの概要を説明しました。 今回は、Pythonを使った機械学習プログラミングの基本的な流れを、実際にコードを書きながら体験的に学んでいきましょう。具体的には、データの読み込みと加工から、グラフによる可視化、統計的な数値計算、そして簡単な機械学習モデルの構築まで、基本的な一連の流れを体験できます(図1)。 今回で学べること 図1の通り、機械学習プログラミングの基本的な流れに沿って進めると、第1回で紹介した主要なPythonライブラリ(pandas、NumPy、Matplotlib、seaborn、scikit-learnなど)を各場面で使い分けることになります。 各ライブラリを深く理解して使いこなすためには、個別に詳しく学ぶことが必要です。ただし本連載では、詳細には触れず、実践で役立つ基本的な使用例に絞って説明します。もっと深く掘

                                                                  scikit-learn入門&使い方 ― 機械学習の流れを学ぼう
                                                                • 社内向けStreamlitのデプロイの現実解

                                                                  結論 社内データを扱うアプリケーションを安全にデプロイするならCloudflare Tunnel,Cloudflare Accessを使う。要件次第ではStreamlit in Snowflakeも使える。 はじめに Streamlitはデータアプリケーションを短時間で作成できる便利なツールですが、社内データを扱うアプリケーションをデプロイする際は外部からの不正アクセスを防ぐように厳重な注意が必要です。 にもかかわらず、Streamlitを安全にデプロイする成熟した方法はまだありません。 本記事では、最も単純なStreamlitのデプロイ構成の例から問題点を再確認し、それらを解決する方法を順に説明します。ただし、本記事で紹介する構成を使うにはドメインのネームサーバーがCloudflareである必要があることに注意してください。 単純な構成はどう危険なのか? まずは非常に単純なStreaml

                                                                    社内向けStreamlitのデプロイの現実解
                                                                  • pythonでリストを生成するときにlist()と[]どっちを使うか? - Qiita

                                                                    個人的には、前者の方がわかりやすいので[]を使っていたのですが、 同じチーム内にlist()で書く人もいて、コードレビューのときに「結局どっちがいいんだっけ?」の議論になったので両者の違いをまとめようと思います。 結論 以下の観点から[]を使うルールにしました。 読みやすさ []は他の多くのプログラミング言語(例えば JavaScript、C++、Java など)でも配列やリストを表すのに使われており、一般的に慣れ親しんだ表現であること。 Pythonの教育/学習資料でも、空のリストを生成する標準的な方法として[]が紹介されている印象。 シンプルに[]の方が簡潔 一方で、list()はpython特有の記法であり、pythonに精通していない人は一瞬「?」となる。 パフォーマンス [] は list() よりも生成が速い。 検証してみた 両方の書き方でそれぞれ空のリストを100万回作成する

                                                                      pythonでリストを生成するときにlist()と[]どっちを使うか? - Qiita
                                                                    • 自己対戦で強化学習する三目並べ AI をPyTorchで実装 - Qiita

                                                                      PyTorch の社内勉強会の題材にしたいと思い立ち、畳み込みニューラルネットワーク(Convolutional Neural Network, CNN)を用いた自己対戦型強化学習の三目並べ AI を実装したので公開します。見通しの良いシンプルな実装を目指しました。結局、それなりのコード量になってしまいましたが。 動作環境 Google Colaboratory の CPUランタイムにて動作を確認しました。 概略 おおまかな処理フローは次図の通りです。盤面情報を受け取った先攻方策と後攻方策は、○×を書き込む場所を返します。この先攻方策と後攻方策に AI を実装し自己対戦させます。 盤面情報は、空白マスをゼロ、先攻 ○ を+1、後攻 × を-1とした形状 (H,W)=(3,3) の二次元配列とします。 盤面座標は、場合により二次元座標と1次元に展開したフラット座標を使い分けます。 三目並べの

                                                                        自己対戦で強化学習する三目並べ AI をPyTorchで実装 - Qiita
                                                                      • LightGBMをGPUで回すと結果の再現性が得られない - Qiita

                                                                        概要 タイトルの通りなのだが、LightGBMをGPUで回すと結果の再現性が得られないことに気づいた。 CPUの場合は乱数seedを42などに固定すれば、同じ条件で何回回しても毎回同じ結果が得られる。 しかし、GPUの場合は乱数seedを固定しても回すたびに結果が変わってしまうのだ。 なぜ再現性がないのか? この問題はLightGBMの公式のissueでも議論されている。 まず、GPUを使う場合は並列で計算できる部分は並列処理をすることで効率化している。 さらに、並列化した結果を足し算するときに、順番によって微妙に値が変わってしまうということだ。 もちろん数学的には足し算の順番が変わっても結果が変わることなんてないんだけど、コンピュータでfloatなどの値を計算する以上、丸め誤差だったり複数の要因で結果が「ほんのわずかに」違うということが起きうる。 さらに、LightGBMをGPUで回した

                                                                          LightGBMをGPUで回すと結果の再現性が得られない - Qiita
                                                                        • Lambda関数が突然動かなくなった話 - サーバーワークスエンジニアブログ

                                                                          はじめに 前提 ある日のこと ググってみる botocore、boto3 のバージョンを確認してみる 徐々に核心に なぜバージョン競合が発生するのか 原因まとめ 対応 おわりに はじめに サーバーワークスの宮本です。今回は本番運用していた AWS Lambda 関数が何も変更していないのに突然動かなくなった話を共有します。一見すると信じられない話ですが、最後までお読みいただけると幸いです。 前提 対象の Lambda 関数に関する基本情報(今回の話に関係ある部分のみ)は以下の通りです。 2023/01 に初回デプロイし、運用を続けていた ランタイムは Python3.9 依存ライブラリは Lambda Layer にまとめている 月に数回動かすようなバッチ処理 ある日のこと 4月某日のことです。当該 Lambda の実行でエラーが発生したことが通知されました。以下はエラー内容の抜粋です。

                                                                            Lambda関数が突然動かなくなった話 - サーバーワークスエンジニアブログ
                                                                          • Hypothesisとpytestを使ってDjangoのユニットテストを書く - 何かを書き留める何か

                                                                            Hypothesisとは何か、プロパティベーステストとは何か Hypothesisは、Python向けのプロパティベーステストのライブラリである。 プロパティベーステストは、生成された多数の入力データに対してプロパティ(性質)が満たされるかどうかをテストする手法である。 HaskellのQuickCheckライブラリが初出で、現在は各プログラミング言語に移植されている。 従来のユニットテストは、ある程度固定したテストデータを指定してテストを行っていた。 その際、境界値分析などで妥当なパラメータを決定していた。 しかし、境界値分析が必ず通用するとは限らないし、人間が行う以上、ミスも発生する。 プロパティベーステストはデータを固定する代わりにそのデータが満たすプロパティを指定してテストを行う。 実際のテストケースはHypothesisがプロパティを満たすパラメータを決めて生成してくれる。 人力

                                                                              Hypothesisとpytestを使ってDjangoのユニットテストを書く - 何かを書き留める何か
                                                                            • 今こそはじめるJAX/Flax入門 Part 1

                                                                              1. はじめに 2012年から始まった深層学習の発展の過程で、さまざまな学習フレームワークが登場しました。中でもPyTorchとTensorflowは最も広く使われており、それぞれのフレームワークが支持されている背景には、柔軟性、拡張性、そして使いやすさがあります。 一方で、これらのフレームワークはその機能を拡張し続けてきた結果として、全体として非常に巨大で複雑なライブラリになっています。そのため、独自に機能拡張を行いたいユーザーにとっては扱いづらく、性能的にもオーバーヘッドを感じさせることがあります。 そこで新たに出てきたのが「JAX」とその関連ライブラリの組み合わせになります。2019年に登場して以降、特に海外の開発者に支持されてきました。近年注目されている大規模言語モデル(LLM)の分野においても、JAXによるモデルが公開されていることは珍しくなくなりつつあります。 PyTorch(

                                                                                今こそはじめるJAX/Flax入門 Part 1
                                                                              • GoogleがFlutter・Dart・Python開発チームの一部従業員を解雇

                                                                                Googleが2024年4月、FlutterやDart、Pythonチームで働く一部のエンジニアを解雇しました。Googleによると解雇理由は組織再編のためだそうです。 Google lays off staff from Flutter, Dart and Python teams weeks before its developer conference | TechCrunch https://techcrunch.com/2024/04/29/google-lays-off-staff-from-flutter-dart-python-weeks-before-its-developer-conference/ Google layoffs hit Python and Flutter teams • The Register https://www.theregister.com

                                                                                  GoogleがFlutter・Dart・Python開発チームの一部従業員を解雇
                                                                                • Announcing py2wasm: A Python to Wasm compiler · Blog · Wasmer

                                                                                  Back to articlesAnnouncing py2wasm: A Python to Wasm compilerpy2wasm converts your Python programs to WebAssembly, running them at 3x faster speeds Since starting Wasmer five years ago we've been obsessed with empowering more languages to target the web and beyond through Webassembly. One of the most popular languages out there is Python, and while it is certainly possible to run Python programs i

                                                                                    Announcing py2wasm: A Python to Wasm compiler · Blog · Wasmer