k0b0's record.

Computer Engineering, Arts and Books

PytorchのTensorを試してみる

PytorchのTensorを試してみる torch.empty() >>> x = torch.empty(5,5) >>> x tensor([[ 0.0000e+00, 0.0000e+00, 1.2111e-37, 1.4013e-45, -2.1667e+20], [ 4.5779e-41, -2.1667e+20, 4.5779e-41, -2.1668e+20, 4.5779e-41], [ 5.9737e-07, 6.4104e-10, 1.3…

Pytorchでの学習済みモデルの保存と読み込み

モデルの保存 params = net.state_dict() #netはモデル名 torch.save(params, "ファイル名.prm", pickle_protocol=4) モデルの読み込み params = torch.load("ファイル名.prm", map_location="cpu") net.load_state_dict(params)

PytorchでCNN(画像分類)を書いてみる。

PytorchでCNN(画像分類)を書いてみる。 以下を参考にCIFAR10 datasetを用いたCNNを書いてみる。 pytorch.org ソースコード import torch import torchvision import torchvision.transforms as transforms import torch.nn as nn import torch.nn.functional…

bcm2835-clk fe101000.cprman: plla: couldn't lock PLL[解決方法を追記]

Raspberry pi 4をアップグレード(カーネル:2020/02/10)したら起動しなくなった。。。 調べてみると、Raspbian Buster(2020-02-05)で再インストールすると起動するみたい。 できれば、バグが改善されて、再インストールせずにちゃんと起動してくれるといい…

我が家にRaspberry-pi 4がやってきた!

Raspberry-pi 4を購入した。 ずっとRaspberry-pi 2を使っていたので、それに比べたらすごく快適に動作する。 TensorFlowやPyTorchなどでディープラーニングを試せるといいな。

Raspberry Pi 4にPyTorchをインストールする。

Raspberry Pi4に機械学習ライブラリPyTorchをインストールしてみる。 手順 パッケージのアップデート $ sudo apt-get update $ sudo apt-get upgrade 2Gのswap領域を作成する。 PyTorchのビルドにはメモリを大量に使用するので、そのために2Gのswap領域を用…

RaspberryPiにpyenvをインストールしてpython3の環境を構築する。

RaspberryPiにpyenvをインストールしてpython3の環境を構築する。 pyenvのインストール 必要なパッケージのインストール $ sudo apt-get install -y git openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev pyenvをgit cloneする $ git clone ht…

イノベーターズ 天才、ハッカー、ギークがおりなすデジタル革命史

計算機科学の歴史本 アインシュタインやスティーブ・ジョブズ、レオナルド・ダ・ヴィンチの伝記で有名なウォルター・アイザックソン氏の計算機科学の歴史についての本。書店で見かけて思わず手にとってみた。 本書は1843年にコンピュータの概念を夢見たエイ…

macOS 10.15 Catalinaの標準シェルはzshだった。

macOSをバージョンアップしてターミナルを立ち上げたら、以下のようなエラーが発生。 The default interactive shell is now zsh. To update your account to use zsh, ... どうやらmacOS 10.15 Catalinaではzshが標準シェルのようだ。 というわけで、[シス…

ヘネパタ 第6版(RISC-V)

ヘネパタの第6版(日本語版)が発売したみたい。内容はMIPSからRISC-Vに一新しているようだ。 以下はざっくりとした内容だ(領域特化アーキテクチャとかウェアハウススケールコンピューティングに関しての事が新たな追記されているようだ)。 そして、このヘ…

NIOS IIを使った回路構成を変更した後でEclipseで再コンパイルした際に生じるエラー

NIOSIIを使ったシステムでは回路構成を変更した後で、Eclipseで再コンパイルが必要となるのだが、 普通にコンパイルすると以下のエラーが出る。 エラーメッセージ Generate the BSP to update the Makefile, and then build again. To generate from Eclipse…

Nios II Software Build Tools for Eclipseが立ち上がらない。

Quartus Prime 18.1でNIOS II Software Build Tools for Eclipseが立ち上がらない。以下のサイトによると、この問題は解決に至ってないみたい。。。 sites.google.com Quartus Prime上からではなく、コマンドラインからなら起動できるようだ。 そのためには…

NiosIIがコンパイルできない。:Error: Can't generate netlist output files because the file ${FINE_NAME} is an OpenCore Plus time-limited file

Error: Can't generate netlist output files because the file ${FINE_NAME} is an OpenCore Plus time-limited file Quartus PrimeでNiosIIのソースコードをコンパイルしたら、こんなエラーが出た。 解決方法 [Assignments] -> [Settings] -> [EDA Tool Se…

いろいろと史上最大なCerebrasの巨大チップ 「Wafer Scale Engine」

Cerebrasが色々と史上最大な巨大チップを開発したみたい。 以下はざっくりとした仕様で、どれも、史上最大らしい。 トランジスタ:1.2兆個 面積:4万6225平方mm オンチップメモリ:18GB プロセッサコア:40万個 ちなみに、プロセッサコアは深層学習向けに最…

Chiselの本

Chisel(Constructing hardware in a Scala embedded language)の入門書"Digital Design with Chiselが無料で公開されているみたい。 (amazonからパーパーパックを購入することも可能。)詳細は下記のリンクにて。github.com msyksphinz.hatenablog.com

Error (16031): Current Internal Configuration mode does not support memory initialization or ROM. Select Internal Configuration mode with ERAM.

メモリの初期化をサポートできない。 Quartus Primeでメモリ(初期値あり)のコードをコンパイルしたら怒られた。 どうやら、初期値を設定する場合はメモリの内部構成モードを変更しないといけないみたい。 解決策 メニューバーの[Assignments] => [Device] …

Raspberry Pi 4

Raspberry Pi FoundationがRaspberry Pi 4を発表したみたい。[主な仕様] ・プロセッサ:4コアARM Cortex A72(1.5GHz)(性能が先代の3倍以上) ・HDMIポート:type-Aからtype-Dの2ポートになり、60fpsの4K動画に対応。 ・価格:RAMの容量により異なり、1GB…

宣言されていない信号線を幅1bitの信号線(wire)として暗黙的に解釈することを回避する

VerilogHDLの言語仕様ではwireとして宣言されていない信号線は暗黙的に1bitのwireとして解釈される。一応、Warningとしてコンパイラが教えてくれるのだが、これが原因で何時間もデバッグする羽目になる事もある。。。 そこで、"`default_nettype wire”宣言と…

Quartus PrimeでMIF(Memory Initialization File)を作成してみる。

MIF(Memory Initialization File)を作成してみる。 Quartus PrimeのIPcatalogから生成するメモリモジュールに初期値を設定するために、MIFを作成する。[File] -> [New]よりMemory Initialization Fileを選択する。 メモリのワード数とワード幅を設定する。 …

Verilog/SystemVerilogでincludeするヘッダファイルの競合を回避する。

複数のモジュール内で同じヘッダファイルをincludeしたSystemVerilog記述をQuartus Primeでコンパイルしたところ、競合が生じてエラーが出た。 ModelSimでの論理シミュレーション時は大丈夫だったのだが、Quartus Primeのコンパイラは厳しいようである。 と…

Quartus Prime のIP Catalogを使ってシングルポートRAM(同期書き込み、非同期読み出し)を生成してみる。@2019/06/14 追記

IP Catalogを使ってシングルポートRAM(同期書き込み、非同期読み出し)を生成してみる。 FPGA(MAX10)でそこそこの容量のメモリを使いたいのだが、レジスタで構成すると、LEをかなり消費する。というわけで、IP Catalogで用意されている、シングルポートRAM(同…

VerilogHDLでクロック分周器を記述してみる

クロック分周器 FPGAボードを使って、7セグメントLEDに結果を表示させたい時がある。 けれど、MHz〜GHzで動作されたんでは確認できない。 という事で、クロック分周器(50MHz -> 1Hz)を2つ記述してみる。 (どちらの記述も分周するのだけれど、出力される波…

SystemVerilogでチャタリング除去回路を記述してみる。

チャタリング除去回路を記述してみる FPGAボードを使っているとスイッチをよく使う。 スイッチを押すとノイズ(チャタリング)が起こる。 というわけで、色々と参考にしてチャタリング除去回路を書いたのでメモしておく。 チャタリング除去回路(chatter.sv…

SystemVrilogでレジスタファイルを記述してみる

SystemVerilogで2種類のレジスタファイル(アドレス長:2ビット、レジスタ数:4、データ長:32ビット)を記述してみる。 レジスタファイル(レジスタとMUXで構成) 個人的にはこちらの記述の方が読みやすいかなぁ。 (レジスタ数が増えると、コードの行数が長くな…

我が青春のPentium D

家を掃除していたら、懐かしい物が出てきた。Pentium Dである。 子供の頃に初めて自作PCを作った時に購入したマイクロプロセッサである。第二世代のPentium D(65nmCMOS)で3.4GHzは出ていたと思う(当時は早い早いと感激していたっけなぁ)。あれから、何年も…

NVIDIAのシングルボードコンピュータ:Jetson Nano

ポケットサイズのGPU NvidiaのJetson Nanoが色々とすごい。[仕様] GPU:128 Core NVIDIA Maxwellアーキテクチャ CPU:Quad Core ARM A57Cortex-A57 MPCore グラフィックス:エンコード4K@30fps(H.264/H.265、デコード4K@60fps(H.264/H.265) カメラ:MIPI …

ミンスキー博士の脳の探索

私たちはどのようにして考えて、学んでいくのか?そして、そのような思考するマシンを作ることはできるのか? 人工知能の父として有名なMITのマービン・ミンスキー先生の著作。 「思考素」と「思考路」という抽象的な概念を用いて、脳や常識、感情、自己につ…

Virtualboxのエラー: VBoxClient (seamless): failed to start. Stage: Setting guest IRQ filter mas Error: VERR_INTERNAL_ERROR

VBoxClient (seamless): failed to start. Stage: Setting guest IRQ filter mas Error: VERR_INTERNAL_ERROR Virtualbox上のUbuntu16.04でこんなエラーに出くわした。それで、ホスト・ゲスト間でファイルの移動やコピペが出来なくなった。 色々調べて見た結…

我が家にDE10-Liteがやってきた。

我が家にDE10-Liteがやってきた。 Terasic社のFPGAボード「DE10-Lite」を購入した。 MAX10のロジックセル数は50000だから、色々と作りこめそうな予感。 (それにしてもFPGA、昔に比べてロジックセル数はかなり増えたし、安くなったなぁ。) 仕様 FPGA デバイ…

Latexにソースコードを載せる

Latexにソースコードを載せる Latexにソースコードを載せる必要があったので、そのサンプルコードを忘れないようにメモしておく。 サンプルコード \documentclass[a4j]{jarticle} \usepackage{listings} % ソースコードを表示するための設定 \lstset{ basics…