俺とプログラミング

某IT企業でエンジニアをしてます。このブログではプログラミングに関わることを幅広く発信します。

Mac Book Pro 2016年モデルにおススメの周辺機器4つ

新型のMac Book Pro 2016モデルにはUSB Type-C端子しかないので、周辺機器の購入は必須といえます。せめてUSB3.0一個ぐらいは残しておいてほしかったですね。さて、このエントリでは私が実際に購入して良かった周辺機器や、ケースを4つ紹介します。

自己組織化マップ(SOM)のPythonライブラリsompyを公開しました

自己組織化マップ(Self Organizing Map: SOM)のライブラリを公開してみたので、インストール、使い方とともに紹介します。Python2.7でnumpy基盤のライブラリです。既存のSOMPYというのもあるのですが、かなり使いにくかったので作りました。まだ至らない部分…

英語下手なプログラマが二流な5つの理由と英語が学べるオススメサービス5選

一流のプログラマとして生きていくために、なぜ英語が必要不可欠なのかを自身の経験を踏まえて解説します。最後にこれから英語を学びたいと思っているプログラマにお薦めのサービスを紹介します。

トップIT企業にソフトウェアエンジニアとして就職するためのプログラミング能力

Google, Apple, Microsoft, Amazon, Facebook, Twitter, IndeedなどのトップIT企業のコーディング面接で要求されるプログラミング能力について紹介します。これらの外資IT企業では、面接でホワイトボードでのコーディングが要求されます。私はこれまでに上記…

Pythonの組み込み関数(built-in)の使い方と小技集まとめ

Pythonには数多くの組み込み関数があります。組み込み関数とは、インポートや定義なしでどこでも使用できる関数のことです。これらを使いこなすことで,効率的な開発が可能になります。この記事では、割とよく使うものをまとめてみました。

CupyからNumpyへの変換(gpu to cpu)

chainerでcupyのndarrayから、numpyのndarrayへの変換(つまりGPUからCPUへの変換)をどうやるか少し手こずったので、メモしておきます。

【Ubuntu/CUDA】GPGPU計算サーバーを構築する【CUI】

CUI環境で利用する,CUDAを使用したGPU計算サーバーを構築する方法を述べます。OSはUbuntuを使用しています。sshで計算サーバーに接続します。

JavaのクロスプラットフォームライブラリlibGDXでiOS/Android両対応のアプリをつくろう

libGDXはJavaのクロスプラットフォームなゲーム用ライブラリです。 出力可能なプラットフォームはiOS/Android/Windows/Mac OS/Linux/HTML5と多岐に渡ります。そのため、普段はDesktop向けでデバッグし、たまに実機でテストするという使い方ができます。 また…

Deep Residual Learning(ResNet)の実装から比較するディープラーニングフレームワーク

Deep Residual Learning(ResNet)とは、2015年にMicrosoft Researchが発表した、非常に深いネットワークでの高精度な学習を可能にする、ディープラーニング、特に畳み込みニューラルネットワークの構造です。154層で画像を学習することにより、人間を超える精…

Chainerチュートリアル の和訳【リカレントネットと計算グラフ編】

前回に引き続きChainerチュートリアルのリカレントネットと計算グラフ編を和訳したので公開します。なにか問題があったら教えてください。

RoboVM開発終了するらしい

RoboVMの開発を2017年4月までに完全に終了することが決定されたようです。

Githubスター数ランキングトップ100まとめ

Githubでスター数トップ100のレポジトリをまとめたのでご紹介します。スター数が多いライブラリのほうが必ずしも優れているわけではないということに注意ですね。こうしてみるとライブラリ以外にも、エンジニアにとって有用なレポジトリが多くありますね。無…

SPP(Spatial Pyramid Pooling)を使ってCNNの精度を向上させよう

Max Poolingの代わりにSPP(Spatial Pyramid Pooling)と呼ばれる特別なプーリング層を用いることで、CNNの性能をお手軽に向上させることができる。この記事では、SPP-netの使い方や、有効性について検証した結果を紹介する。

CNNの学習に最高の性能を示す最適化手法はどれか

Adam, AdaGrad, AdaDelta, RMSpropGraves, SGD, MomentumSGDなど数ある最適化手法の中で、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)の学習には、どのOptimizerをつかうのが最も適しているのかということを実験しました。

libGDX, RoboVMでOutOfMemoryと言われたら

RoboVMでコンパイルするのは結構メモリの消費量が多いようで、たまにOut of Memory系のエラーがでます。単純にもう一度実行したり、再起動すると治る場合もありますが、Java実行時のヒープサイズが足りないケースがあります。その場合、gradlw.propertiesを…

Chainerチュートリアル の和訳【Chainerの紹介と多層パーセプトロン】

バージョン1.5からFunctionSetがdeprecated(非推奨) となり、Chain, Linksなどが追加されました。バージョン1.11からTrainerが追加されました。これらの勉強ついでに【Introducion to Chainer】を和訳したので公開します。なにか問題があったら教えてくださ…

【libGDX入門】TiledMapを描画しよう

TiledMapとは二次元のタイルをつなぎあわせて、簡単にマップを表現できるツールです。 TiledMapを作れるTiledMapEditorの使いかたは以下の記事を参照。

Scalaのリスト処理でテキストファイルの単語数をカウントする (with Python)

Scalaでテキストファイルの中でスペース区切りになった単語の数を数える方法について紹介します。Scalaはスクリプトファイルとしても実行できるので、便利です。

Pythonのベイズ法ライブラリBayesPyのインストールとサンプルの実行

変分ベイズ法(VB: Variational Baysian Methods)を試してみたかったのでBayesPyというライブラリを使いました。そのインストールの方法などを紹介します。環境はUbuntuです。

Boost PythonとBoost Numpyのインストール in Ubuntu

Boost PythonとBoost NumpyのUbuntu上でのインストール手順を備忘録としてメモしておきます。Pythonのバージョンは2.7です。

Ubuntuにnode.jsとnpmとTypeScriptをインストールする

Ubuntu上でのTypeScriptのインストールに手間取ったので、備忘録として手順をメモしておきます。 apt-getでのインストールではバージョンが古いせいかうまくいきませんでした。 nodejsからnodeへのシンボリックリンクを貼るのもめんどいです。 nvmを使うと、…

Chainerチュートリアルの勉強ノート【バージョン1.4】

巷ではTensorflowが話題ですが、気にせずChainerを使います。 ChainerのAPIは綺麗で読みやすいのがいいですね。 この記事ではChainerのチュートリアルのまとめを公開します。 一部、実験も含んでいます。

Play Framework 2.4 入門 【インストールからHerokuでのデプロイまで】

Play FrameworkはJava, Scalaで書けるMVCアーキテクチャーによるWebアプリケーション・フレームワークです。 この記事では、Play Framework 2.4のインストール、Herokuへのデプロイ、Eclipseでのプロジェクトのインポート、Playアプリケーションの構造につい…

隠れマルコフモデルによる動的2Dハンドジェスチャー認識【Python/GHMM】

Pythonの隠れマルコフモデルライブラリGHMMで動的2Dハンドジェスチャー認識をやってみたので紹介します。 今回は無料で公開されている2Dジェスチャーのデータベースを使いました。 このデータベースは、画像ではなく手の位置のシーケンスのみを記録したもの…

【libGDX入門】TextureAtlasを使う【TexturePacker】

TextureAtlasの生成方法とlibGDXでの読み込み方法について紹介します。 テクスチャアトラス(TextureAtlas)とは複数の画像をひとつに結合し、読み込み時間や描画の効率化を行うための仕組みです。

【libGDX入門】音楽を鳴らしてみよう

libGDXで音楽を鳴らす方法について紹介します。 libGDXでは、短い音(Sound)と長い音楽(Music)で実装が分かれていますが、使い方はほとんど同じです。 ただMusicの方は重いので、あまり多く使わないほうがいい模様。 対応するファイル形式はWAV及びMP3です。

【libGDX入門】画像に関する基本

libGDXにおける画像の取り扱いについて基礎的な部分を解説します。SpriteBatch, Texture, TextureRegion, Spriteについて順番にみていきます。

【libGDX入門】ユーザーから文字列の入力を受け取る

libGDXにおいてどうやってクロスプラットフォームにユーザーからの文字列の入力を受け取るかを紹介します。実現する方法は大きく3つあります。 1 , 2 , 3 の順に労力がかかります。 その代わり、 1 , 2 , 3の順に自由度が高まります。

WindowsでChainerのGPU版MNISTサンプルを動かすまで【cuda 7.5】

日本発のディープラーニングフレームワークであるChainerを64ビットWindowsにインストールしてGPU版MNIST手書き文字認識サンプルを動かすところまでを解説します。 Chainer自体のインストールはとっても楽ですが、GPUで使おうとすると結構はまります。

【libGDX入門】iOSの設定例

libGDXにおけるiOSの設定例を紹介します。他に重要そうなのがあれば随時追加したいと思います。

Copyright © 2016 ttlg All Rights Reserved.