徒然なる日々を送るソフトウェアデベロッパーの記録(2)

技術上思ったことや感じたことを気ままに記録していくブログです。さくらから移設しました。

「Python で学ぶ流体力学の数値計算法」を読んで

Pythonで学ぶ流体力学の数値計算法作者:孝藏, 藤井,智章, 立川オーム社Amazon本の構成は大きく、前半と後半に分かれます。前半では一歩一歩流体の数値計算に必要な物理的考察および python プログラムを記述し、理解を深めていきます。 後半では最近の研究を…

ゼロから作る DeepLearning ❸ フレームワーク編を読んで

ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー)ゼロから作るシリーズの第3弾は、自動微分可能なフレームワークをゼロから作成するというものです。 全体で60ステップからなっており、最初…

「基礎からわかるElm」を読んで

基礎からわかる Elm作者:鳥居 陽介発売日: 2019/02/27メディア: 単行本(ソフトカバー)関数型言語に分類される Elm を基礎から解説した本です。 Amazon の書評を見ると点数が高い本なのですが、読みやすさの工夫が随所にあり、秀逸な一冊だと思います。対象…

「Python 計算機科学新教本」を読んで

Python計算機科学新教本 ―新定番問題を解決する探索アルゴリズム、k平均法、ニューラルネットワーク作者:David Kopec出版社/メーカー: オライリージャパン発売日: 2019/06/26メディア: 単行本(ソフトカバー)色々あって久々の投稿になってしまいました。 今…

「機械学習のための特徴量エンジニアリング」を読んで

機械学習のための特徴量エンジニアリング ―その原理とPythonによる実践 (オライリー・ジャパン)作者: Alice Zheng,Amanda Casari,株式会社ホクソエム出版社/メーカー: オライリージャパン発売日: 2019/02/23メディア: 単行本(ソフトカバー)この商品を含む…

「ゼロから作るディープラーニング2」を読んで

ゼロから作るDeep Learning ? ―自然言語処理編作者: 斎藤康毅出版社/メーカー: オライリージャパン発売日: 2018/07/21メディア: 単行本(ソフトカバー)この商品を含むブログ (3件) を見るなかなか読む時間がなくて、読み通すのに2か月もかかってしまいまし…

「ゼロから作る Deep Learning」を読んで

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者: 斎藤康毅出版社/メーカー: オライリージャパン発売日: 2016/09/24メディア: 単行本(ソフトカバー)この商品を含むブログ (18件) を見る有名な本なので、今更読後感想文を書く…

「python によるテキストマイニング入門」を読んで

Pythonによるテキストマイニング入門作者: 山内長承出版社/メーカー: オーム社発売日: 2017/12/29メディア: Kindle版この商品を含むブログを見る自然言語に対するテキストマイニング処理が実際どのように行われるのか知りたくて購入した書籍です。 夏目漱石…

「仕事ではじめる機械学習」を読んで

しばらくぶりの更新となります。 技術関連の記事は TeqStock.tokyo の部屋 または minosys - Qiita に持って行ってしまったので、こちらに何を書くかしばらく考えていました。 HP に Amazon へのリンクを貼ろうと思ったら拒否されてしまったので、しばらくこ…

minosys script を作ろう (11)

関数の実装 関数にはパッケージ関数とメンバー関数がありますが、 パッケージ関数の実装から考えてみます。パッケージにはバイナリパッケージと minosys script パッケージが 定義されているのでした。 minosys.hateblo.jp両者を統一的に扱うために PackageB…

minosys script を作ろう (10)

アーカイブの構成 ここで言うアーカイブとは、複数のファイルを1つのファイルにまとめて 管理することを指します。 UNIX 標準の tar や Windows の zip などがありますが、minosys script では独自のアーカイブファイル構造が定義されています。 オフセット…

minosys script を作ろう (9)

Minosys script における実行エンジン 参考にした本によれば、実行エンジンの実装には2種類あるそうです。まつもとゆきひろ 言語のしくみ作者: まつもとゆきひろ出版社/メーカー: 日経BP社発売日: 2016/12/22メディア: 単行本この商品を含むブログ (5件) を…

minosys script を作ろう (8)

スマートポインタの定義 boost の smart pointer を使ってもよいのですが、 折角なので、ここでは独自に smart pointer を作成してみます。 template <class T> class PtrRef { private: int count; T *value; public: Ptr<T>(T *value) : count(0), value(value) {} Ptr<T></t></t></class>…

minosys script を作ろう (7)

左辺値と右辺値の違い 前回、左辺値は変数を指し、右辺値は値を指すと言いました。 左辺値は変数を代入するための情報なので、最終的には変数のアドレス にブレイクダウンされます。つまり、実行エンジンの観点で見ると(仮に変数のクラスを Var として)右…

minosys script を作ろう (6)

Content クラスの全貌 前回、Content クラスを導入すると言いつつ、その内容については 断片的にしか記述しませんでしたので、ここで全体を俯瞰しておきます。 class Content { public: LexBase::LexTag tag; std::string op; std::string label; int inum; …

minosys script を作ろう (5)

lex の追加 大事なことを忘れていました。C 言語などでは改行コードを \n のように 表現できますが、minosys script でも同じことができるようにします。 ただし、\n, \r, \\ の3つのみをサポートすることにしました。 構文解析 構文解析では lex によって…

minosys script を作ろう (4)

ここからは実装に入るので、言語実装にお決まりのパターンに入ります。 現在の実装はhttps://github.com/minosys-jp/minosys-script.gitに置いてあります。(作成途中なので、まだコンパイルできません!) Token の切り出し まず、token をどういう単位にす…

minosys script を作ろう (3)

おあずけになっていたサーバの仕様です。 拡張子 .minosys という拡張子のファイルを見つけたら minosys script ファイルだと思うことにします。 パッケージを import している場合もサーチパス上に指定されたファイルが存在していれば minosys script だと…

minosys script を作ろう (2)

新作 script に取り入れたい言語定義は以下の通りです。 分かりやすい制御構造 別に C がいいという訳ではないのですが、悲しいかな C 以上に 単純な制御構造+式構造が思いつかないので、C から 借りてくることにします。ただし、do while とか後回しにしま…

minosys script を作ろう(1)

はじめに 最近、まつもとゆきひろさんの「言語のしくみ」という本を買いました。まつもとゆきひろ 言語のしくみ作者: まつもとゆきひろ出版社/メーカー: 日経BP社発売日: 2016/12/22メディア: 単行本この商品を含むブログ (5件) を見るこの本によると、言語…

3D描画回路を FIFO 化してみた

前回、Zybo で動作する3D描画回路を作成してみましたが、 minosys.hateblo.jp FIFO を外付する形での実装もしてみました。 FIFOは 18Kb Block RAM 1個を使うため、64エントリまで 挿入可能です。スケマティックはこちら。 リセット回路がちょっとヘンテコな…

今更ながら、3D描画回路を作ってみた

Zybo ボード上で3D描画回路を作ってみました。 技術的なことは以下に書いておきました。 qiita.com三角形さえ描画できれば、後はそれを Z 値の小さい順にソートして 順に描画していけば視点から見たポリゴンを描画できます。 (Zサーフェス法)まだいくつか…

ライン描画回路を作ってみる

今日は簡単なネタで。Vivado HLS で昔懐かしい Bresenham line アルゴリズムを実装してみました。simpleLine.c として、 #include "ap_cint.h" #define SCREEN_WIDTH (640) #define abs(x) (((x) >= 0) ? (x) : (-x)) #define sgn(x, y) (((x) > 0) ? (y) : …

AXI4 インターコネクトの仕様?

HDL

前回、書き込み回路を追加すると表示回路に遅延が発生する現象が発生しましたが、 minosys.hateblo.jp どうも AXI4 マスターのインターコネクトに表示回路と描画回路を両方つないで いたのが原因のようです。 何も繋いでいなくてもインターコネクトが2つス…

FPGA 回路を合成すると遅延発生!

HDL

また不思議な現象に出くわしました。先日完成した VGA ディスプレイ回路 minosys.hateblo.jp に Vivado HLS で矩形描画回路を追加したところ、画面が激しく乱れる現象が発生。配線遅延のワーニングが出まくっているので、それのどれかが悪さを しているのだ…

何とか VGA ディスプレイを作成

HDL

前回、AXI4 の仕様に悪戦苦闘していましたが、 AXI4バスの仕様に悪戦苦闘中 - 徒然なる日々を送るソフトウェアデベロッパーの記録(2) 何とか表示できるようになりました。お手本FPGAプログラミング大全 Xilinx編作者: 小林優出版社/メーカー: 秀和システ…

AXI4バスの仕様に悪戦苦闘中

HDL

Zynq FPGA で VGA グラフィックディスプレイを設計しようと したら AXI4 バスのマスターモードでハマってしまいました。AXI4 とは AMBA 起源のシステム LSI 内バス仕様で、元々は ASIC 用ですが、現在は FPGA でも使用されているバスです。やりたいことは DD…

はてブロ記事の今後の方針について

はてブロ記事を長らく(?)書いてきましたが、技術情報については遅ればせながら Qiita に 移動することにしました。そこで、はてブロではもう少し下世話な(?)話を展開していこうかと思っています。 例えばシステムの開発記などの骨格ははてブロを使い、…

たかが2オクテット、されど2オクテット

久々に PHP に post でファイルを送りつける C++ コードを書いたら、PHP 側に エラーコード 3: PARTIAL UPLOAD という正体不明のエラーが出た。PHP の問題だろうと思って放っておいたが、クライアント側の問題だった (初歩的なミスですいません)。multipar…

画像特徴量から縮尺・回転角を推定する

カメラの被写体が元画像に対してどんな角度・縮尺で写っているのか 知りたいことがあります。 が、OpenCV には剛体の回転・拡大/縮小を行う関数がありませんので 新たに作成してみました。 手順 1. ORB, SIFT といった画像特徴量を抽出すると、ノルムが最小…