JAX is a Python library for accelerator-oriented array computation and program transformation, designed for high-performance numerical computing and large-scale machine learning. With its updated version of Autograd, JAX can automatically differentiate native Python and NumPy functions. It can differentiate through loops, branches, recursion, and closures, and it can take derivatives of derivative
This course is focused on the question: How do we do matrix computations with acceptable speed and acceptable accuracy? This course was taught in the University of San Francisco's Masters of Science in Analytics program, summer 2017 (for graduate students studying to become data scientists). The course is taught in Python with Jupyter Notebooks, using libraries such as Scikit-Learn and Numpy for m
この記事は,CAMPHOR- Advent Calendar 2018の7日目の記事です. この記事は,NumPyやPyTorchなどの開発に使える「shape_commentator」という便利ツールを使った話です.このツールはpipでインストールできるので,サクッと試してみたい方はGitHubのページに飛んで使ってみてください. 加筆修正(2019/12/12) IPython拡張を追加したことでIPythonやJupyterNotebookでの使い心地が良くなったので,IPythonの例の部分を中心に一部修正しました. はじめに こんにちは.シバニャンです.最近は卒論で画像系の研究をしています. 卒業研究ではNumPyやPyTorchを使ってコーディングしているんですが,今までUnityのコードをC#で書いてVisual Studioのコード補完のぬるま湯に浸かってきた僕とっては,型
2018/09/10 Deep Learning JP: http://deeplearning.jp/hacks/ Read less
Abstract C++ において,クラスのコンストラクタ中でメモリを確保し,ディストラクタ中でメモリを解放することで,メモリ寿命をクラス寿命としてスコープにより制御すること (RAII※) は一般的である.C++ において,単なる配列を RAII に従い実装する場合,新たなクラスを定義することはせず,std::array<T> や std::vector<T> などの標準実装のコンテナ型を用いることが一般的である.これらのコンテナ型は,単なる配列としてだけでなく,数値計算やデータ解析における配列としても多用される.このとき「要素の追加」や「配列全体への演算」といった操作が頻繁に発生する.しかしながら,現状では std::vector<T> に演算子が定義されておらず,MATLAB における a=[1, 2, 3]; a*=4 や numpy における a=np.asarray([1,2,
Introduction� MATLAB� and NumPy/SciPy have a lot in common. But there are many differences. NumPy and SciPy were created to do numerical and scientific computing in the most natural way with Python, not to be MATLAB� clones. This page is intended to be a place to collect wisdom about the differences, mostly for the purpose of helping proficient MATLAB� users become proficient NumPy and SciPy users
先日会社で退職金の説明会がありました。それによると退職金の一部を確定拠出年金として自分で運用しなくてはいけないとのことで、ポートフォリオを設計する必要あります。今時は各種金融機関がポートフォリオのシミュレーターを公開していますし、Excelを使って計算するという方法もありますが、ここでは例によってpythonでポートフォリオの設計をやってみます。 実は、pythonにはnumpyやscipyといった科学計算のライブラリやcvxoptという最適化計算のライブラリがあるので、それらを利用すれば簡単かつ高速に最適なポートフォリオを計算することができます。 ちなみに、僕はファイナンス理論の専門家ではないので、ここに書いてある記述が正確であるという保証はできません。あしからず。 分散共分散行列を計算する 各投資対象のリスクと投資対象同士の相関係数が分かっているならば、分散共分散行列は行列計算で計算で
NumPyで画像処理 概要 実践 コンピュータビジョンを読んで、出てきたサンプルコードを試したりいじったりする企画、その1-3。 NumPyを利用した画像処理。画像の表示にはMatplotlibを利用。配列に対して効果を加えることで画像にどういう変化が出るかを見るのは、やっていてけっこう楽しい作業。 NumPy, Matplotlib, Pillowは既に利用可能になっているものとする。 画像の読み込みと表示 foo.jpgという名前で適当な画像ファイルを置いておく。 # 必要なものをimport from PIL import Image import numpy as np from matplotlib import pylab as plt # 画像の読み込み img = np.array( Image.open('foo.jpg') ) # 画像の表示 plt.imshow( i
The Blaze ecosystem is a set of libraries that help users store, describe, query and process data. It is composed of the following core projects: Blaze: An interface to query data on different storage systems Dask: Parallel computing through task scheduling and blocked algorithms Datashape: A data description language DyND: A C++ library for dynamic, multidimensional arrays Odo: Data migration bet
Introduction ご存知の通り,C++は画像処理などの大規模計算に適した言語であり,Pythonはこれらの結果を簡単にscipyやmatplotlibを使って可視化できます.そのため,多くの研究者はコアの計算をC++で行う一方で,データ整理や実験結果の可視化にはPythonを用いるアプローチが一般的でした. その際に重要となってくるのは,Numpy標準のファイル形式である.npyファイルを読み書きするための,C++ライブラリの存在です.これまでにもlibnpyなどに代表されるいくつかのライブラリが存在していましたが,予めコンパイルする必要があるため気軽に使えない,またMSVCなどの環境で使用できないなどのいくつかの欠点がありました. Numpy.hppはこれらの問題を解決するために作られたライブラリです.Numpy.hppの特徴は次の2つです. Header-only: Numpy
scipy/numpyの行列演算は詳しいことを知らなくても何となく使えて便利なのですが,慣れていないとついついループや内包表記を使ってしまいます.pythonのループで書くと遅くなるのは分かっているのに…….最近「ufuncのbroadcastingが分かっていれば大分マシになるのでは無いか」と考えるようになったので,備忘録も兼ねて適当なことを書いてみます. ちなみに私の数値計算の知識はサッパリなので注意.またnumpy/scipyに関して何も知らない場合は他の記事を当たった方が良いと思います. 計算の速度やメモリのことは良く分からないので,難しいことを考えるのを止めて,目標を ループを使わずにとにかく1行で処理を書く にします.おいおい. broadcasting universal function(以下ufunc)はarray*1に作用する関数のことで,これの"array broad
かなり久しぶりの記事になってしまいました。 windows7 64bitで環境構築にずいぶん手間取ったのでいくつかのポイントをメモしておきます。 目標は、64bit版のpythonやopencv(含むpythonバインディング)あたりが普通に使えるようになることです。 pythonのインストール python自体のインストールは公式サイトから配布されているインストーラを使えばできるはずです。 インストールしたらPYTHON_HOME環境変数にpython.exeがあるディレクトリを設定し、PATHに%PYTHON_HOME%を追加しておきます。 easy_install(setuptools)のインストール pyhonのパッケージ管理システムにはeasy_installとpipがありますが、pipを入れるのにeasy_installがあった方がよいのでまずインストールします。これも公式の指
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く