pandazx's blog

Hadoop, データ分析など雑多な技術ブログ

EC2にNATサーバ構築

AmazonからはNAT Gatewayというマネージドサービスが提供されているが、お金が少しかかる。 そこで自前で用意する方法を説明する。 OS:Amazon Linux NATサーバを構築するEC2インスタンスはパブリックIPがあり、外につながっているとする。 以下を設定。IPア…

AMIイメージから作成したEC2にSSHで接続できない

EC2

それまでパスワード認証でsshでログインしていたEC2があったとする。 そのAMIイメージを作成して、別途、EC2を作成するが、sshでログインできず、「Permission Denied」となる。EC2作成時にはキーペアをなしに設定している。 解決方法 キーペアをありにして…

AWS SDK for Ruby V2でS3にアクセスするサンプルプログラム

AWS SDKをインストール gem install aws-sdk サンプルプログラム # coding: utf-8 # # AWS SDKを用いて、S3にアクセスするサンプルプログラム # require 'aws-sdk' # Config AWS_REGION = "ap-northeast-1" AWS_ACCESS_KEY = "xxx" AWS_SECRET_ACCESS_KEY = …

機械学習の用語

評価指標 MAE=Mean Absolute Error(平均絶対誤差) RMSE=Root Mean Square Error(2乗平均平方根誤差)

OpenStreetMapサーバの構築 Ubuntu 14.04

OpenStreetMapサーバはKai Krueger氏がUbuntu14.04向けにパッケージングしてくれているので、 これを利用すると構築が簡単。以下の方法が参考になる。 OpenStreetMapサーバを自作する(Install OpenStreetMap on AWS EC2/Ubuntu14.04) | Developers.IO 以下…

VBoxGuestAdditions.iso の UUID エラー

他からコピーしてきたvboxファイルをVirtualBoxで「追加」で起動しようとすると、 Cannot register the DVD image… であったり、UUID のエラーメッセージが表示されることがある。 この場合、「新規」に作成し、ストレージにコピーしてきたvmdkファイルを指…

cuDNNのバージョン確認

cudaのインストールディレクトリが /usr/local/cuda と仮定する。その場合、以下に書いてある。 /usr/local/cuda/include/cudnn.h のCUDNN_MAJOR, CUDNN_MINOR, CUDNN_PATCHLEVEL /usr/local/cuda/lib64/libcudnn.so.x.x.x x.x.xがバージョン

Ubuntu14.04でメニューが表示されなくなった

再起動してログインしたら、急にメニューバーやランチャーが表示されず、 デスクトップ上のフォルダやファイルのアイコンだけ表示される状態になり、 ターミナルも起動できなくて困った。(Ctrl + Alt + Tでも起動できず。。。) ググると、色々とやりようは…

Bluetooth対応ケーブルありイヤホンTT-BH16

通勤時に使うBluetooth対応イヤホンを検討していたが、AirPodsなどのケーブルなしは見送り、 安価なケーブルありイヤホンを購入した。 知人の口コミ情報を元に、タオトロニクスのTT-BH16(約3000円)に決定。 TaoTronics Bluetooth 4.1 スポーツイヤホン マ…

Rubyの2次元ハッシュの定義

本当にタダのメモ hash = Hash.new{|h,k| h[k] = {} } # 以下のように値を代入できる hash["a"]["b"] = 1 # 上記とは別に、以下のように、存在しなければ、都度、ハッシュを定義してもよい # if文でチェックする必要がないので、シンプルに書ける hash["a"] …

エンジニアとして世界の最前線で働く選択肢、を読んで

シリコンバレーで働く日本人エンジニアの就活事情に興味があったので。 エンジニアとして世界の最前線で働く選択肢 ?渡米・面接・転職・キャリアアップ・レイオフ対策までの実践ガイド作者: 竜盛博出版社/メーカー: 技術評論社発売日: 2015/10/08メディア: K…

psycopg2.OperationalError: asynchronous connection attempt underway

pythonで並列処理 - pandazx's blog というブログを以前、書いたが、 並列処理の中でPostgreSQLにSELECTを投げる処理をした時に以下のエラーが発生した。 psycopg2.OperationalError: asynchronous connection attempt underway このエラーは並列処理前にDB…

Ubuntu14.04にVNCリモートログインで動画再生できない

まず、Ubuntuは標準では、著作権の問題でコーデックがないため、mp4などの動画が再生できない。 そのため、コーデックをインストールする。 sudo apt-get install ubuntu-restricted-extras これでローカルからログインすれば再生できる。 しかし、まだ、VNC…

CentOS7にPostgresql9とPostGISをインストール

今更な内容だが、作業ログとして残す。 前提 OS: Centos 7 インストール sudo yum install epel-release sudo yum install -y proj proj-devel proj-epsg sudo yum --enablerepo=epel install gdal sudo yum install postgis # 順番が前後するが、以下でPost…

pythonで並列処理

python2.7で実装した際のメモ。 実装イメージ csvファイルの行ごとに重たい処理をするので、行ごとに並列処理したい 行の先頭列にはIDがあり、IDをキーに並列処理の結果を受け取って、出力したい csv上、IDには重複があるが、同一IDは2回処理したくない 各プ…

Windows Server 2012R2にssh serverを構築

基本的には以下のブログの通り。 windowsに公式なsshdをインストールし、linuxからwindowsにssh接続 | Developers.IO これについて補足する。 上記ブログに最新版はこちらと、ダウンロードページを紹介されるが、 OpenSSH-Win32.zipとOpenSSH-Win64.zipがあ…

Ruby: MessagePackのファイル読み書きでエラー

MessagePackしたファイルの読み込み時にエラーで、少しハマったのでメモ test.rb:27:in `unpack': extra bytes follow after a deserialized object (MessagePack::MalformedFormatError) こうじゃなくて File.open(outpath, "w") do |fout| fout.puts(links…

一般物体検出のFaster R-CNNについて

Faster R-CNNには本家Matlab版とPython版のプログラムが公開されている。 Matlab版 GitHub - ShaoqingRen/faster_rcnn: Faster R-CNN Python版 GitHub - rbgirshick/py-faster-rcnn: Faster R-CNN (Python implementation) -- see https://github.com/Shaoqi…

MATLABにToolboxをアドオン追加

MATLABをインストール後、アドオンを追加する方法がすぐにわからなかったのでメモ まず、Toolboxを購入。評価版の場合は特になし。 MATLABのインストーラを実行すると、最後の方にインストールするコンポーネントを 追加するページがある。MATLAB本体はイン…

Ubuntu 14.04 にVNC serverを構築

なぜか、普通のやり方で構築すると、ログインした際に灰色の画面(gray screen)になってしまう現象に直面。 以下のサイトを参考に対応できた。 How To Setup VNC For Ubuntu 12 | DigitalOcean 最後のセキュアにするところは、ご自由に。 ちなみに、/etc/in…

Word2vecの仕組みの勉強

Word2vecについて個人メモ(私の理解)。詳しく知りたい人は参考文献を参照して欲しい。参考文献先には元論文のリンクもある。Word2vecは二層のニューラルネットワーク(NN)で構成される。学習して計算された重み付けの値により、学習データに含まれる情報を数…

Ubuntu server 14.04で日本語入力できない

Mozcが出てこない。 以下のコマンドで言語関連ライブラリをインストール sudo apt-get install fcitx fcitx-mozc fcitx-libs-qt5 fcitx-frontend-qt5 sudo apt-get install language-pack-ja 右上のEnを右クリック→Text Entry Settingsで、 +アイコンから、…

NVIDIAドライバ環境でUbuntu serverにGUIインストール

大いにハマった。 以下の順に行うことで、うまくいった。 Ubuntuインストール taskselでデスクトップ環境をインストール NVIDIAドライバをインストール 最初に3と2を逆にやったためか、Xorgの設定がうまく行われず、startxすると画面が真っ黒になり、どうに…

EC2のGPUインスタンスにTensorflowインストール

追記 NVIDIA AMIではうまく行かなかったので、まっさらなUbuntuを元に以下を参考にコマンドをコピペすれば出来る。 AWSインスタンス上にTensorFlow:GPGPU環境を作成する | テクノスデータサイエンス・マーケティング株式会社 一部、違うのは、ビルドツールBa…

ImportError: No module named cv2

前提 OS: Amazon Linux(CentOSみたいなもの) AMI: Amazon Linux AMI with NVIDIA GRID GPU Driver on AWS Marketplace python 2.7 PFN発のディープラーニングフレームワークchainerで画像分類をするよ(chainerでニューラルネット1) - 人工言語処理入門 この…

Bazelインストール

前提 OS: Amazon Linux(CentOSみたいなもの) AMI: Amazon Linux AMI with NVIDIA GRID GPU Driver on AWS Marketplace 現在のBazelインストールにはJDK8が必要。以下ではver 0.2.1をインストールする。 公式ドキュメント Installing Bazel - Bazel 以下、作…

pillowインストールでエラー

前提 OS: Amazon Linux(CentOSみたいなもの) AMI: Amazon Linux AMI with NVIDIA GRID GPU Driver on AWS Marketplace Amazon Linux で、pip install pillowしたらエラー発生 ValueError: jpeg is required unless explicitly disabled using --disable-jpeg…

EC2のGPUインスタンスにChainerインストール

前提 OS: Amazon Linux(CentOSみたいなもの) AMI: Amazon Linux AMI with NVIDIA GRID GPU Driver on AWS Marketplace 基本的には以下のサイトを参考にすればよい。 AWSのGPU有りインスタンスにChainer 1.5を最も簡単にインストールする - Qiita その際に、…

HyperLogLogメモ

何かのデータベースソフトウェアでカーディナリティを計算するためにHyperLogLog使ってる、という記述があり、 HyperLogLogがわからん。ということで調べた時のメモ。 まずは、Wikipedia様。 HyperLogLog - Wikipedia, the free encyclopedia HyperLogLogは…

Cookpad TechConf 2016に行ってきた

日時:2016/1/23 以下、完全にただのメモ。読みやすさゼロ おでかけスポット検索の難しさ 検索:どこで + だれと、いつ、なにを 初期は全文検索 中目黒は住所的な中目黒ではない など、ノイズ、検索対象にズレが出てしまっていた 他に中目黒駅とした場合に、…

Hadoopソースコードリーディング 第20回に行ってきた

久しぶりの参加。 www.eventbrite.com 本日のお品書き Apache Kylin: Materialized View for Big Data Apache Phoenix: Relational database layer over HBase Upgrading from HDP2.1 to HDP2.4 Kylin, Phoenixって何だろう、という動機で参加。どちらもHBas…

ssh接続可能なDockerコンテナ作成

Dockerizing an SSH service 上記Dockerブログを参考にすれば出来る。まず、このブログに書いてあるDockerfileの内容をコピペしたファイルを作成。ファイル名はDockerfile。次に、以下のコマンドを実行。 # Dockerfileがカレントディレクトリにあること # Ub…

nvidia-dockerでコンテナからGPUアクセス環境構築

(作業中。ローカルにGPU環境を作らずに、Docker上で作れば、すんなり行くのかもしれないが、未確認) 前提 以下のサイトの通り、一通り、CUDA, cuDNNが使える状態になっていること Ubuntu 14.04 にChainer1.7.0環境構築 - pandazx's blog 目標 Dockerコンテ…

Ubuntu 14.04 にChainer1.7.0環境構築

構築する環境 CUDA7.5, cuDNN v4, Chainer 1.7.0 のインストール 作業ログ サーバにTITAN Xを取り付ける Ubuntu 14.04 をインストール ハマったこと ubuntu snd_hda_intel failed to add i915 component master - pandazx's blog Ubuntu起動時にAdding ?k sw…

ubuntu snd_hda_intel failed to add i915 component master

NVIDIAのTITAN XのGPUを挿したサーバに、Ubuntu 14.04 をインストール後、起動したら、このエラーが出た。 まったく解決方法になっていないが、作業ログを残す OnChipのグラフィック機能をオフにすればいい、みたいな書き込みがどこかにあったが、自分のBIOS…

Ubuntu起動時にAdding ?k swap on /dev/xxx Priority:-1 extents:1 across:?k で止まる

NVIDIAのTITAN XのGPUを挿したサーバにUbuntu 14.04 をインストールして起動したところ、 swapのマウントのような処理で止まる(エラーとは出ない) 対応方法は、起動時にGRUBを編集して、nomodeset を追加すること。 参考にしたページには、そのようなこと…

コンピュータビジョンの入門記事

コンピュータビジョンのセカイ - 今そこにあるミライ | マイナビニュース2011年4月から2015年2月まで、計85回の長期連載。とりあげるトピックが、話題になった技術中心で読みやすい。例えば、ARやKinectなど。コンピュータビジョンの世界を知る入門記事とし…

Verticaの既存テーブルのCreate文作成

既存テーブルと同じ構造のテーブルを作成したい場合に使える小技。 (テーブル定義のコピーのようなイメージ) 以下のクエリを実行すれば、対象テーブルのCREATE文が表示される。 select export_tables('','table_name'); 参考にしたサイト:Verticaのオブジ…

プログラムをシェルスクリプトで並列処理

1サーバに複数コアがあって、それらを使って並列処理する話。 Hadoopのようなサーバをまたいだ並列処理ではありません。 ビッグデータを処理する際に並列処理したいとします。 前提 ユーザごとに集計を行うとして、指定ユーザだけのデータを読込める ユーザ…

第二回 Hivemall Meetup 参加メモ

以下の勉強会に参加 eventdots.jp 日時:2015/10/20 19:00-21:00 場所:渋谷 dots community space 参加者:130人ぐらい Hivemall v0.4 新機能紹介 発表者:Treasure Data 油井 @myui スライドは後でUPされるらしい(期待) 以下に記載するSQLのサンプルはテ…

Rのggplotでヒートマップ作成時にログスケールとlimitsかけてエラー

R

例えば、以下のようにヒートマップを作成してエラーになったとする。 library(ggplot2) library(reshape2) library(ggthemes) # data.csv には val1, val2, valueというカラムがある data<-read.table("data.csv", header=T, sep=",") # ヒートマップ作成 p …

Hadoopの新ストレージKuduのβ版リリース

HadoopにはHDFS(ファイルシステム)やHBase(列指向DB)といった ストレージシステムがありますが、両者を補完する位置づけであるという 新しいストレージシステムKudu(クドゥ)がリリースされました(β版) Kudu (クドゥ) : HDFSとHBaseを補完する、Hadoo…

JSONファイルを1行で読込む

data = JSON.parse(File.read(filepath)) # または File.open(filepath){|io| JSON.load(io) }

rubyで別ディレクトリのscriptをrequire

作ったスクリプトが増えてくると、昔、作ったスクリプトを使いまわしたいことがあると思います。 ただ、そのスクリプトAが同ディレクトリの別のスクリプトBをrequireしていると、他のディレクトリからスクリプトAをrequireすると パスが違うのでエラーになり…

ダックタイピングとstructural subtyping

プログラミング言語の解説で、ダックタイピングという用語がわからなかったので調べた。これは動的言語において、アヒルのように歩き、同じ鳴き声をするなら、そのオブジェクトはアヒルと同じように扱えるってことらしい(ポリモーフィズム的な感じ)Rubyのサ…

AWS SDK for Ruby(V2)ですべてのS3オブジェクト一覧取得

以下のようにすると、1000個しか取得できない。 s3 = Aws::S3::Client.new response = s3.list_objects(bucket: bucket_name) response.contents.each do |object| puts object.key end これはAWS SDKの制限で一度に1000個しか取れないようになっているから…

Amazon LinuxにPython3とNumpyインストール

Amazon Linux でEC2を作ったら、Python2.7だった。 Python3系とNumpyを使いたかったのでインストールした話。 2015.6.5 追記 もっと簡単な方法があった。Python3はソースからインストール。 pip install numpy で行けた。以下はPython2だが参考になる。 Amaz…

第2回GCPUG in Tokyoメモ

GCP

第二回GCPUG in Tokyo! : ATND Google Cloud Platformユーザ会の勉強会に行って来たが、何故か発表者4人中3人がGoogleの人だったので、ユーザ会じゃなくて、Googleの宣伝活動の場みたいになってた。これから各地に支部が立ち上がる予定らしい。盛り上がる前…

sendmailコマンドで複数人にメール送信

カンマ区切りでスペースを入れずに宛先に以下のように書けばよい。 $sendmail to@test.com,to2@test.com To: to@test.com,to2@test.com From: from@test.com Subject: test test mail desu. .To: のところだけ複数個書いてもダメで、最初のsendmail でも同様…

第1回Vertica勉強会メモ

勉強会ページ第1回 Vertica 勉強会 : ATND非公式ハッシュタグは#vertica_meetup◼︎20分でわかるVertica概要紹介のみ◼︎DeNAアナリスト業務データ発生からVerticaに入るまでの時間は?1時間以下程度。遅くて2-3時間。おそらく、前者がkafka経由、後者がHadoop…