EurekaMoments

ロボットや自動車の自律移動に関する知識や技術、プログラミング、ソフトウェア開発について勉強したことをメモするブログ

聴講メモ: MIT Self-Driving Cars: Sacha Arnoud, Director of Engineering, Waymo

  • 背景・目的
  • Waymoについて
  • 講演の動画
  • 講演内容のメモ
  • 良く分からなかった部分の参考資料

背景・目的

アメリカの自動運転車開発企業であるWaymoのエンジニアリングディレクタであるSacha Arnoudが、MIT(マサチューセッツ工科大学)にて講演を行ったようです。その模様がYouTubeで公開されているのですが、なかなか聴く機会もない貴重な講演なので、動画を見て聴いた内容をTwitterでメモしました。
今回の記事では、そのメモ内容を紹介しようと思います。

Waymoについて

Waymoについては以下のサイトを参照ください。

waymo.com

ウェイモ - Wikipedia

続きを読む

良く使うGitコマンドの逆引きメモ

目次

  • 目次
  • はじめに
  • リモートリポジトリからクローンする
  • ブランチを作成する
  • 今いるブランチを*で示す
  • ブランチ一覧を確認する
  • 作業ブランチを切り替える(チェックアウト)
  • ブランチ作成 + チェックアウト
  • 既存ブランチと同じ名前のブランチを強制的に再生成 + チェックアウト
  • 全ての変更を破棄して強制的にチェックアウト
  • ブランチ名を変更する
  • ブランチを削除する
  • リモートリポジトリとURLの一覧を表示
  • リモートリポジトリを追加
  • リモートリポジトリを削除
  • 前回のコミットと比較した変更内容を表示
  • ワークスペース上の編集 or 追加ファイルをステージに上げる
  • ローカルリポジトリにコミットする
  • 直前のコミットに上書きする
  • コミットログを確認する
  • インデックスの変更内容を取り消す
  • git commitの実行を取り消す
  • 過去のコミット直後に強制的に戻す
  • ローカルへのコミットをリモートリポジトリにpushする
  • リモートリポジトリの変更をローカルに取り込む
  • リポジトリからファイルを削除 + ディレクトリから削除
  • リポジトリからファイルを削除 + ディレクトリには残す
  • ファイル名を変更する
  • タグを付ける
  • コンフリクトした時の解消手順
  • SVNリポジトリからローカルのGitリポジトリを作成する
  • ローカルGitリポジトリに変更を行い、SVNリポジトリへ反映する
  • Git Bashで新規ファイルを作成する
  • Gitのブランチモデル
  • OSSの本家のリポジトリの変更をForkした自分のリポジトリに取り込む
  • プルリクエストを使った開発フロー
  • プルリクエストをIssueにリンクする

はじめに

今更ながら、会社でも自宅でもソースコード管理をするのにGitを使うようになったのですが、良く使う基本的なコマンドすら中々覚えられないので、いつでも見返せるように逆引きメモとして残しておこうと思います。

続きを読む

データの正規化を考慮したワインの等級予測:Linear SVC編

目次

  • 目次
  • はじめに
  • 予測モデルの学習手法の選定:Linear SVC
  • とりあえずやってみる
  • データを正規化・標準化してみる
  • Z-Score Normalization(標準化)
  • Min-Max Normalization
  • データの分布形状を確認
  • 正規化・標準化したデータで再度Linear SVC
  • 次のステップ

はじめに

以前、カリフォルニア大学アーバイン校(UCI)が公開している「ワインの等級を予測するための学習データサンプル」を用いたデータ分析についての記事を書きました。

eurekamoments.hatenablog.com

今回はその続きとして、データの分析結果に基づいて実際に等級予測を行ってみたので、その結果を紹介しようと思います。
また今回は、単にデータを学習させるだけではなくて、機械学習において重要とされるデータの正規化・標準化も考慮しながら行ってみました。

続きを読む

東大生マラソンランナーに習って卓球とプログラミングの両立方法を考えてみた

  • 背景
  • 目的
  • 一般の卓球プレーヤーが抱える制約
  • 先行技術
  • 今後の取り組み①: 試合動画内の選手のトラッキングと打法の自動分析
  • 今後の取り組み②: 選手の動作情報から試合の流れを把握し、自分がとるべき戦術を提案してくれるシステムの開発
  • 参考: テニスにおけるデータ分析

背景

自分は中学校入学時から卓球を始め、今でも趣味として週1くらいのペースで楽しんでいます。地元のクラブチームにも所属してたまに試合にも出場しているので、できればもう少し練習する機会を増やして実力アップを図りたいのですが、プログラマとしての勉強時間も確保したいのでこれ以上練習時間を増やすのは難しいのが現状です。
どうしたものかと悩んでいたところ、以下の記事を読んだことで「そういう考え方があったか」と非常にスッキリしました。
president.jp

ラソン東京オリンピックを目指す程のアスリートでありながら、東京大学大学院の博士課程で研究にも取り組む近藤秀一選手の考え方は、スポーツと学業との間に壁を作らない「文武一道」というものです。好きなものが2つあるなら、それらをどうやって結び付けられるのかを考える事が大事だという近藤選手の言葉を聞いて、自分も卓球とプログラミングを結びつけて同時に取り組んでいける方法を考えてみる事にしました。

続きを読む

個人的なPython逆引きリファレンス

目次

  • 目次
  • はじめに
  • ディレクトリやファイルを開くダイアログを表示
  • .zipや.gzみたいな圧縮ファイルをバイナリモードで開く
  • ループで処理を回している時の進捗率を把握する
  • pandasで空のデータフレームを作成し、データを逐次追加していく
  • CSVファイルをpandasで読み込んだ時に列をindexに指定する
  • pandasデータフレームをCSVファイルに書き込む時に日本語の文字化けを防ぐ
  • 複数のデータフレームを一つに結合する
  • データフレームからある条件を満たすデータを抽出する
  • 3次元のデータパネルを作る
  • メッセージウィンドウを表示させる
  • 指定したディレクトリ内にあるファイル名をリストアップする
  • 日付と時刻を表す文字列をdatetime型として処理する
  • datetime型データをCSVファイルに書き込んだ際の注意点
  • ファイルやディレクトリの各種操作
  • Figureを表示中にマウスクリックにより別な処理を走らせる
  • データフレームからカラム名を指定してデータを抽出
  • データフレームの各データ同士の相関係数を計算してヒートマップ表示する

はじめに

Pythonでプログラミングをするようになって暫く経ちますが、
未だに基本的な文法やTipsについて同じことを何度も調べては
忘れ、調べては忘れを繰り返しています。
今回の記事では、そうやって今まで調べてきたことを一通り逆引き
リファレンスとして残して、もっと素早く調べ直せるようにします。

続きを読む

ソフトウェア開発におけるレビューについての勉強メモ

目次

  • 目次
  • はじめに
  • 参考文献
  • レビューの種類と目的
  • 改善点①: 新規開発機能の教育レビュー不足
  • 「最悪を最初に」を基本としたレビュー
  • 改善点②: 簡単なところからレビューを始めがち
  • 改善点③: コードレビューがメールベース
  • レビューとインスペクション中の指針となる原則
  • 改善点④: 公式のタイミングでしかレビューをしない
  • まとめ

はじめに

ソフトウェア開発においてバグを発見するために、そのソフトウェアのコードレビューやベンチテストは必要不可欠な作業です。僕の普段の開発業務でも、仕様や設計、コードレビューを行うステップがあるのですが、どうも最近、見つけられたはずのしょーもないバグが「今更?」って感じのタイミングで見つかることがあるなぁ、感じています。
バグを見つけられなかったことはしょうがいないのですが、今後また同じようなことで悩まないためにも、自分達のレビューのどこに問題があったのかを考えなければなりません。
今回の記事では、正しいソフトウェアレビューについて学び、それを参考に自分の開発業務におけるレビュー改善について考えてみようと思います。

続きを読む

海外留学に挑戦し夢破れて学んだこと

目次

  • 目次
  • はじめに
  • 概要
  • 留学に挑戦しようとしたきっかけ
  • 留学候補者選抜会への参戦
  • 留学テーマのプレゼン
  • 選抜からの落選
  • 落選したことで学んだこと
  • その後の取り組み
  • まとめ

はじめに

このブログを始めて約2ヶ月、またTwitterでいろんな人達と繋がりを持つようになって1ヶ月が経ちました。その間にブログを見に来てくれる人も、Twitterでフォローしてくれる人も増えて非常にありがたいのですが、僕はこれまでブログにもTwitterにも一切の興味がありませんでした。そんな僕がこれら2つを始めることになったきっかけは、自分が勤めている会社が持つ海外留学制度への挑戦でした。今回は、僕が留学に挑戦してから、ブログとTwitterを始めるまでの経緯と、それを通して僕が学んだことについて書き、それを今後も忘れないためにも記事として残しておこうと思います。

概要

今回の記事は以下のような内容になっています。

  • 留学に挑戦しようとしたきっかけ

  • 留学候補者選抜会への参戦

  • 留学テーマのプレゼン

  • 選抜からの落選

  • 落選したことで学んだこと

  • その後の取り組み

  • まとめ

続きを読む