タグ

pythonに関するpetite_blueのブックマーク (199)

  • Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita

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

    Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita
  • PythonのコードをWebAssemblyにコンパイルする「py2wasm」、Wasmerが発表

    PythonコードをWebAssemblyにコンパイルする「py2wasm」がWasmer社から発表された。WebAssembly版CPythonよりも約3倍高速だ。PythonコードをCPythonAPIコールに変換するトランスパイラがベースになっている。 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が発表
  • Numpyが18年ぶりのメジャーアップデート! 改善点、変更点まとめ - Qiita

    NumPy 2.0.0の主要な変更点 皆さんもお世話になっているであろう科学計算ライブラリNumPyが、2006年以降初めてのメジャーアップデートを発表しました。そこで、変更点をざっくりとまとめてみました。以下は変更点の一部であり、それ以外については実際のドキュメントを参照してください。 免責事項:この記事は、NumPy 2.0.0の変更点について個人的な見解を述べたものであり、NumPyの開発チームや関係者の公式な見解を代表するものではありません。変更点の影響や対応方法については、必ず公式のリリースノートと移行ガイドを参照してください。また、この記事には不正確な情報が含まれている可能性があります。記事の内容を実際のプロジェクトに適用する前に、必ず公式ドキュメントで情報を確認してください。 概要 2006年以来の最初のメジャーリリース 破壊的な変更あり 多くの新機能とPython/C AP

    Numpyが18年ぶりのメジャーアップデート! 改善点、変更点まとめ - Qiita
  • 2024東大理系数学第3問をsympyで解く - Qiita

    2024東大理系数学第3問 連立漸化式を行列表示する (1)で答える,とりうる点を反時計回りに点$\mathrm{C}_0, \mathrm{C}_1, \ldots, \mathrm{C}_7$とおきます。 そして,$n$秒後に点$\mathrm{P}$ が $C_k$ にいる確率を $p_{n,k}$ とおくと,$n$秒後から$n+1$秒後への推移は次の行列で表されます。 \begin{pmatrix} p_{n+1,0}\\ p_{n+1,1}\\ p_{n+1,2}\\ p_{n+1,3}\\ p_{n+1,4}\\ p_{n+1,5}\\ p_{n+1,6}\\ p_{n+1,7} \end{pmatrix} =\frac{1}{6} \left( \begin{array}{cccccccc} 0 & 1 & 0 & 2 & 0 & 1 & 0 & 2 \\ 1 & 0 & 2

    2024東大理系数学第3問をsympyで解く - Qiita
  • pathlibをもっと使おう - The jonki

    皆さんはPythonのpathlib使ってますか?私は非常によく使っています.例えば機械学習では学習の前に前処理を多く行うケースが非常に多いですが,このようなに知っておくと便利です.pathlibは意外とPython 3.4(2014年~)からとそれなりに新しいため,古くからのPythonユーザーは os.pathの方をよく使っているかもしれません.ただpathlibは文字列ではなくPathクラスとして扱ってくれることで,例えばLinux/Windowsのパス表記の違いを吸収してくれたりします. pathlibとos.pathの比較は公式のpathlibドキュメントに譲るとして,私がよく使うpathlibのクラスを紹介します.また今回改めてドキュメントを眺めて知った便利関数も多いので,公式ドキュメントに目を通すのもオススメします. 今回は下記のような複数の素性の異なるデータセットに対して処

    pathlibをもっと使おう - The jonki
  • 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のsubprocess - 朝日ネット 技術者ブログ

    はじめに 開発部の ikasat です。 皆さんは git, ssh, rsync のような外部コマンドを呼び出すスクリプトを書きたくなったことはありますか? 個人的にこの類のスクリプトは最初はシェルスクリプトとして書くのですが、改修を重ねるうちに肥大化して処理も複雑になり、 後から Python のような汎用プログラミング言語で書き直すことがよくあります。 外部コマンド呼び出しを書き直す際に、Git 操作のために pygit2、 SSH 接続のために paramiko のようなライブラリをわざわざ使うのは大がかりだったり、 rsync に相当するようなこなれたライブラリが存在しなかったりする場合があります。 そのような時は標準ライブラリの subprocess モジュールを利用し、Python から外部コマンドを呼び出すことになるでしょう。 しかしながら、Python のチュートリアルペ

    シェルスクリプトとの対比で理解するPythonのsubprocess - 朝日ネット 技術者ブログ
  • Skia-python: Pythonのための2Dグラフィックスライブラリ | | AI tech studio

    AI Labの山口です。こちらの記事ではPythonのために開発した2Dグラフィックスライブラリ、skia-pythonの紹介をします。 概要 Skia-pythonはオープンソースで開発している高機能な2Dグラフィックスライブラリで、解像度に依存しないベクター形式で描画処理を記述することが可能です。もともとChromiumプロジェクトで描画バックエンドとしてC++で開発されていたグラフィクスライブラリのSkiaをPythonから呼び出せるようにラップして実装されています。LinuxMacWindowsでクロスプラットフォーム動作し、CPUおよびGPUデバイスでレンダリングをすることができます。PNG/JPEG/WEBPなどのラスタ画像形式での入出力の他、PDF/SVG形式での出力もサポートしています。 Skia-pythonを開発した背景として、Python環境でのベクターグラフィッ

    Skia-python: Pythonのための2Dグラフィックスライブラリ | | AI tech studio
  • Pythonのreportlabの使い方まとめ - Qiita

    空のPDFファイル作成 まずは空のPDFファイルをユーザのデスクトップに作成してみましょう。 下記のプログラムを実行すると空のPDFファイルがデスクトップに作成されます。 from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import A4, portrait import os # ユーザのデスクトップのディレクトリを取得 file = "sample.pdf" file_path = os.path.expanduser("~") + "/Desktop/" + file # A4の新規PDFファイルを作成 page = canvas.Canvas(file_path, pagesize=portrait(A4)) # PDFファイルとして保存 page.save() フォントの読み込み 文字を書き込むため

    Pythonのreportlabの使い方まとめ - Qiita
  • AIを語りたいなら最低限Pythonをやるべき。足し算より簡単なんだから|shi3z

    昨日は新潟県長岡市に行って、市役所の職員向けと、一般向けに二回の講演を行った。 市役所の職員からの質問事項をよく読むと、ChatGPTを闇雲に何にでも使おうとして苦戦している姿が見てとれた。 たとえばこんな感じだ。 ⚪︎時に東京駅につく新幹線を予約したいとChatGPTに言ったが、公式サイトをチェックしろと言われた 我々からすればその回答は当たり前なのだが、闇雲になんでもChatGPTでやろうとするとこうなってしまうという典型的な例だった。当たり前だが、その目的ならえきねっと一択だ。 ChatGPTには限界がある。しかも低い。 だから通常はPluginと組み合わせたり、プログラムから呼び出したりするという「工夫」が必要になる。 GPTを使うプログラムを書くのはものすごく簡単だ。 たぶんプログラムの世界でも最も簡単な部類だろう。 たとえば僕がプログラムでGPTを使おうかなと思った時、こんなふ

    AIを語りたいなら最低限Pythonをやるべき。足し算より簡単なんだから|shi3z
  • Pythonの高速なスーパーセットをうたう新言語「Mojo」、コンパイラなど公開、ローカル環境で利用可能に

    Pythonの高速なスーパーセットをうたう新言語「Mojo」、コンパイラなど公開、ローカル環境で利用可能に Modular社はPythonの高速なスーパーセットだと同社が位置づける新言語「Mojo」をローカル環境で実行可能にする、コンパイラなどのツール群を公開しました。 Mojo is now available for download locally to your machine! Beyond a compiler, the Mojo SDK includes a full set of developer and IDE tools that make it easy to build and iterate on Mojo applications. Let’s build the future together!https://t.co/KxmLvsxx5e — Modula

    Pythonの高速なスーパーセットをうたう新言語「Mojo」、コンパイラなど公開、ローカル環境で利用可能に
  • Julia & Mojo Mandelbrot Benchmark

    For those of you who aren’t aware, the Mojo SDK was recently released, so I thought I would take the opportunity to start benchmarking some Julia code against Mojo. As a first test, I am calculating the Mandelbrot set using the code provided by Modular. This is my Julia implementation: using Plots const xn = 960 const yn = 960 const xmin = -2.0 const xmax = 0.6 const ymin = -1.5 const ymax = 1.5 c

    Julia & Mojo Mandelbrot Benchmark
  • Python の 35,000 倍速いプログラミング言語 Mojo🔥 とは - Qiita

    Mojo🔥とは、LLVM や Swift の生みの親として知られる Chris Lattner 氏が率いる Modular 社が開発した新しい汎用プログラミング言語です。 Python 互換の使いやすい構文と C 言語並みの処理速度を特徴とし、AI 開発に利用されることが期待されています。 Mojo の特徴 Python 互換の構文を持っている。 動的型付けと静的型付けの両方の構文を持っている。 処理速度が C 言語並みに速い。 コンパイル型言語である。 システムプログラミング言語である。 中間表現に MLIR を採用している。 開発環境 クラウド型の開発環境である Mojo Playground または Mojo SDK を利用することができます。 Mojo Playground Mojo SDK Hello World! Mojo は Python 互換の構文を持っているため、簡単な

    Python の 35,000 倍速いプログラミング言語 Mojo🔥 とは - Qiita
  • Python(pytest)でテスト書くならfixture,conftest,parametrizeを理解すると世界が一気に変わる

    Python(pytest)でテスト書くならfixture,conftest,parametrizeを理解すると世界が一気に変わる 概要 Pythonのテストライブラリといえばpytestが一般的です。 Python標準のuniitestとは異なり、クラスベースではなく関数ベースでテストコードを記述することが一般的ですが、fixture,conftest,parametrizeを理解すると一気に世界が変わり、テスト体験が圧倒的に向上するため、これらの実装方法を紹介します。 リポジトリ 記事の説明に使用しているサンプルのテスト実装は、以下のリポジトリです。 想定読者 PythonやGitの基的な使い方を理解している方を想定しているため、基的な用語説明は省略しています。 環境 エンジニアの利用率の高いmacOSを前提として説明していますので、その他の環境の方は随時読み替えてください。 開

    Python(pytest)でテスト書くならfixture,conftest,parametrizeを理解すると世界が一気に変わる
  • Python: コマンドラインパーサの Click が便利すぎた - CUBE SUGAR CONTAINER

    Python のコマンドラインパーサといえば、標準ライブラリに組み込まれている argparse が基。 蛇足になるけど、バージョン 2.7 以前で使われていた optparse は将来的に廃止予定なので新たに使うことは避けた方が良い。 そして、今回紹介する Python のサードパーティ製コマンドラインパーサ Click は、既存のパッケージと比較すると最小限のコードで美しくコマンドラインインターフェースを実装できるように作られている。 どれくらい楽になるかといえば、もう argparse を使っている場合じゃないな、と思えるレベル。 Welcome to Click — Click Documentation (8.0.x) もくじ もくじ Click をインストールする 基的な使い方 コマンドを定義する オプションを追加する 引数を追加する サブコマンドを作る オプションについて

    Python: コマンドラインパーサの Click が便利すぎた - CUBE SUGAR CONTAINER
  • GitHub - exaloop/codon: A high-performance, zero-overhead, extensible Python compiler using LLVM

    Codon is a high-performance Python implementation that compiles to native machine code without any runtime overhead. Typical speedups over vanilla Python are on the order of 10-100x or more, on a single thread. Codon's performance is typically on par with (and sometimes better than) that of C/C++. Unlike Python, Codon supports native multithreading, which can lead to speedups many times higher sti

    GitHub - exaloop/codon: A high-performance, zero-overhead, extensible Python compiler using LLVM
  • Codon: Python compiler takes scripts to C/C++ speeds

    Python is among the one of the most popular programming languages, yet it's generally not the first choice when speed is required. While it can be optimized for better performance, Python is prized for qualities other than speed, such as readability, a manageable learning curve, an expansive ecosystem, and utility in both academia and business. MIT computer scientists and their colleagues, however

    Codon: Python compiler takes scripts to C/C++ speeds
  • PythonでExcel作った - Qiita

    はじめに データサイエンスで誰もがまず間違いなく扱うであろうテーブルデータ。pandasや最近ではpolarsを使って解析・可視化する人も多いでしょう。一方で、データサイズがそれほど大きくないときは、インタラクティブに編集・プロットしたり、セルの中でちゃちゃっと平均とかを計算できるExcelの方が便利な場合が多いです。 pandasGUIというものもあるのですが、かなり操作性が悪いし、開発もそんなホットではないですね... テーブルデータをExcelみたくいじりながら、いつでもDataFrameでデータを回収してPythonで解析できるソフトがあったらいいなあと思ったので、tabulousというのを作りました。この記事ではこれを簡単に紹介したいと思います。 名前はtabularとfabulousを掛けたものです。GUIはQtで作っています。 なお、詳しいドキュメント(英語)はこちらにありま

    PythonでExcel作った - Qiita
  • Open3D のインストール,Python のプログラム例

    複数の写真から,3次元の立体を構成する技術がある. レーザー光線等を用いて,3次元のものをダイレクトに計測する技術もある. これらでは,3次元点群という点の集まりのデータが得られる. 3次元の中の点ですので,x, y, z の 3つの値を持つ. Open3D には,3次元点群について,次のような機能がある. 知っておいて損がありません. 間引く(処理性能のアップのため) 法線を求める(ポリゴンのデータに変換するとき,ポリゴン同士が滑らかになるようにするための技術) 空間の範囲を指定して抜き出す 色を付ける オブジェクトに分ける 平面(壁)を抜きだす ポリゴンのデータに変換する(Blender などに読み込めるように変換できます) 点の密度を求める 【目次】 前準備 Open3D のインストール Open3D に付属の example/python のプログラムを動かしてみる(Python

    petite_blue
    petite_blue 2022/12/25
    3次元点群
  • Pythonで点群処理ワンライナー

    はじめに 2022年も終わりますね。 今年は点群処理が網羅的に解説されたが出たり、テキストから点群生成できるAIが出てきたり、いろいろ点群界隈も盛り上がっていたかと思います。 そんな正統派点群技術が盛り上がった年の最後に、闇の点群技術を紹介できればと思います。 Pythonワンライナーの世界 Pythonワンライナーとは、普通に書くと数行に渡りそうな処理をワンライナー(一行)で書くことで、ただただ自己満足・自己顕示欲のためだけに難解なコードを作成するアレなテクニックです。 この記事では一般的なPythonワンライナーコードではなく、点群処理に特化したアルゴリズムのワンライナーを紹介していきたいと思います。 前提条件 まず、記事のテクニックではnumpyおよびscipyのみライブラリとして使用することを許可しています。 Open3Dまで使ってしまうと闇どころか完全なチートになってしまうの

    Pythonで点群処理ワンライナー