読者です 読者をやめる 読者になる 読者になる

俺とプログラミング

某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の設定例を紹介します。他に重要そうなのがあれば随時追加したいと思います。

【libGDX入門】無料でiPhone実機デバッグ

libGDXにおいて無料でiPhone実機にデバッグ用アプリをインストールする方法について解説します。 これまでは有料登録しなければできなかったiOS実機デバッグが、Xcode7.0から無料で可能になりました。 libGDXもその恩恵を受けることができます。 試してませ…

【libGDX入門】Actionの使い方

libGDXでのActionの使い方について紹介します。 Actionとは、Actorに一定の動作を行わせる仕組みです。 libGDXでは標準で様々なアクションが用意されています。 例えば、移動、回転、スケーリング、色の変化、フェードインなどです。 これらのActionを用いる…

【libGDX入門】アプリケーションの構造

libGDXを利用する上で重要な、プロジェクトの構造と、メインとなるクラス及びメソッドを解説します。前回セットアップアプリ(gdx-setup.jar)で生成した最小限のコードを見ながら進めていきます。

【libGDX入門】初めての環境構築【Intellij IDEAとAndroid Studio編】

ゼロから初めてlibGDXアプリを動かすまでをステップバイステップで解説します。開発時のOSに関しては Mac OS, Windows, Linuxどれでも構いません。今回解説するのは、IDEにIntelliJもしくはAndroid Studioを使用した場合です。 もちろん、EclipseやNetBeans…

GHMMでHMMをファイルへ入出力する方法

GHMMでどうやって隠れマルコフモデルのファイルへの入出力を行うかを紹介します。 非常に簡単です。

How to write and read HMM in GHMM

This article shows how to write and read Hidden Markov Model in GHMM. It is very easy.

【iOS/Android】モバイルクロスプラットフォーム開発環境まとめ

iOSとAndroidに対応するクロスプラットフォームな開発環境をプログラミング言語別にまとめます。iOSとAndroidで同時開発することで、大幅な労力の軽減が期待できます。 2015年現在、ほとんどの言語にスマホの開発環境があるので、自分の好きな言語でマルチデ…

Pythonの隠れマルコフモデルライブラリGHMMの使い方

Pythonの隠れマルコフモデルライブラリ、GHMMの使いかたを軽く紹介。 コードを見て頂ければなにをやっているか分かると思います。

Ubuntuのブートローダが消えてしまった時の対処

デュアルブートしたあとに、誤ってBIOSメニューをデフォルト値に変更してしまったら、Ubuntuのブートローダが消えてしまいました。 その時に行った対処法を備忘録としてメモしておきたいと思います。

【感想】カッコウはコンピュータに卵を産む(上・下)

こないだ読んだ本を紹介したいと思います。「カッコウはコンピュータに卵を産む」はコンピュータセキュリティ界隈では割と知られた本です。

UbuntuでIrfanview使う方法

Irfanviewはその筋では知られたWindowsの画像ビューアです。 そのUbuntu上での実行方法を紹介します。

scikit-learnのインストール in Ubuntu

Ubuntuでは以下のコマンドでscikit-learnをインストールできます。 $ sudo apt-get install python-sklearnしかし、このscikit-learnのバージョンは少し古いです。Pythonの学術系のライブラリをインストールする場合、pipでインストールしたほうがよさそうで…

Pythonの隠れマルコフモデルライブラリGHMMのインストール

Pythonの隠れマルコフモデル(Hidden Markob Model)ライブラリである、GHMMのインストールとその使いかたについて紹介します。私の環境はUbuntuです。

仮想環境よりもデュアルブートの方が快適な7つの理由

私は今までLinuxを使うのにVirtualBoxでやってきましたが、最近デュアルブートにしてからその快適さに感激しているところです。もうVirtualBoxやVMwareなどの仮想化ソフトには戻れません。 この記事では、デュアルブートによるメリットを列挙してみたいと思…

Ubuntu16.04 + Windows10 のデュアルブート環境を構築する

簡単にUbuntu16.04とWindows10でのデュアルブート環境を構築する方法を紹介します。UbuntuはUbuntu14.04でも、WindowsはWindows7でもWindows8でも同じ方法でできます。ディアルブートにするメリットはこちらの記事にまとめました。なお、クリーンインストー…

Ubuntu + libGDX + Android あたりのバグ

Ubuntu上でのlibGDXのAndroid実行にかなり手間取ったので、解決方法を記しておきます。 どなたかの参考になれば幸いです。

Ubuntuをインストールしたらまずやることリスト

Ubuntuをインストールしたあとに、私が真っ先にやることをまとめます。参考になれば幸いです。ちなみにUbuntuはSuperキー(デフォルトはwindowsキーなど)を長押しすることで、キーボード・ショートカットの一覧が表示されるので、便利ですよ。

インテルがJavaでiOS, Android両対応のアプリを作れるINDE環境を発表

米インテルが2015年7月30日のAndroidデベロッパーカンファレンスにおいて、 INDE(Integrated Native Development Experience )プラットフォームと呼ぶJavaでAndroidとiOS両対応のアプリを作ることを可能にする環境をリリースする予定であることを明らかにし…

【入門】 Tiled Map Editorを使ってみよう

Tiled Map Editorとはゲーム開発用の2Dマップを簡単に作成できるツールです。クロスプラットフォームで無料です。この記事では主にTiled Map Editorのチュートリアルを紹介します。以下のリンクからダウンロード、インストールしてください。 ダウンロードリ…

UbuntuにKivyをインストールしてみよう

KivyとはPythonのGUIフレームワークです。iOS, Android, Windows, Mac, Linux, など幅広く対応しています。 今回はUbuntuへのインストールと初めてのアプリケーションを作ります。

Copyright © 2016 ttlg All Rights Reserved.