Pythonによる並列計算
Pythonでは基本的に、Global Interpreter Lockといって、一つのプロセスでしか動かせない、という制約がある。これは、複数スレッドを立ち上げてPythonコードを実行しようとしても、CPUでの計算を…
Pythonでは基本的に、Global Interpreter Lockといって、一つのプロセスでしか動かせない、という制約がある。これは、複数スレッドを立ち上げてPythonコードを実行しようとしても、CPUでの計算を…
自分用のメモです。回転同士の距離がどういうものか、といったことはここに日本語で詳しく書いてあります(とても良いページ!)。 from pyquaternion import Quaternion import numpy…
はじめに 3次元回転(金谷健一著)を読んで、あるコスト関数を最小化するための3次元回転の最適化について、リー代数の方法、の理論的なところを少なくとも一部理解したので、実際に実装してみようというのが今回の目的。 リー代数と…
Scipyによる最適化計算 Pythonで最適化計算を行う場合、Scipyのoptimizationパッケージを使うことになると思う。これには、いろいろな最適化アルゴリズム(Nelder-Mead, Powell, BF…
クロフトンの公式 CTなどのボリュームデータにおいて、何らかの方法でセグメンテーションを行ったあと、そのラベルデータの表面積を計算したいときがあります。このとき、クロフトンの公式というものを使うと正確に計算できます。これ…
方針 簡単のために単位球を考えます。乱数tで緯度を決め、乱数uで経度を決めます。ただし、緯度ごとに、緯線の長さが異なるため、球面上に均一に分布させるために、この緯線の長さに比例した頻度でtを生成する必要があります。 なお…
Pythonでの生成方法を書いていきますが、根底にある考え方は他の言語でも共通です。 手始めに、一様乱数から 確立密度関数で表現すると、[0, 1)において、P(x) = 1。 # [0, 1)の乱数を生成 import…
Pythonでは3Dポリゴンを扱うことができます。STLというフォーマットはポリゴンのXYZ座標を列挙するだけなので、ライブラリを使わずとも扱えますが、numpy-stlというライブラリを使うともっと簡単です。インストー…
プログラミングを始めようとMacを手にしたあなたのために、プログラミングを始めるために必要な環境構築の方法をここにまとめておきます。 Pythonのインストール こちらのページにあるとおりですが、まずはPythonをイン…
概要 今回は、すでにchainerがインストールされているDockerイメージに少しだけ手を加えて、OpenCVとJupyter Notebookが使えるようなイメージを作成します。GPUをDocker上で使うためにはd…