物理の駅 by onsanai

Physics Station → PhSt 質問・疑問・間違いの指摘は、コメントに書くか、直接伝えるときっと良いことがあります。主にWindows or Ubuntu用の記事です

UbuntuでMackerelを動かすときのメモ

ループバックデバイスを無視する 設定 /etc/mackerel-agent/mackerel-agent.conf に以下を追記する [filesystems] ignore = "/dev/loop.*" サービス mackerel-agent を再起動する sudo systemctl restart mackerel-agent NVIDIAのデバイスを監視する まずは …

Pythonで直線同士の最接近距離と最接近点を知る

まずは、 その19 直線同士の最接近距離と最接近点を知る をPythonへ移植する import numpy as np # http://marupeke296.com/COL_3D_No19_LinesDistAndPos.html def distance_2lines(line1, line2): ''' 直線同士の最接近距離と最接近点 return 直線間の距離,…

論文用のデータをmatplotlibで作るテスト

全オプションは plt.rcParams.keys() で確認できる。 import numpy as np import matplotlib.pyplot as plt import matplotlib plt.rcParams['xtick.direction'] = 'in' plt.rcParams['ytick.direction'] = 'in' plt.rcParams['xtick.top'] = True plt.rcPar…

Visual Studio 2019: Gitでたまに出るerror: could not lock config fileのエラー

error: could not lock config file C:/Windows/%HOMEDRIVE%%HOMEPATH%/.gitconfig: No such file or directory %userprofile%.gitconfig を削除するか、Git for Windowsを再インストールすると治る。なんでだろう。 Visual Studio 2019 16.4.5

C#でenumを文字列からParseする

C#

Enum.Parse を使うと良い。 using System; namespace ConsoleApp3 { class Program { public enum Status { StatusA, StatusB, StatusC } static void Main(string[] args) { Console.WriteLine((Status)Enum.Parse(typeof(Status), "StatusA")); Console.Wr…

.NET Framework から .NET Core への移植の概要

docs.microsoft.com docs.microsoft.com www.nuits.jp

ClassificationViewer

C# WPFのタップで右クリック(長押し)を実装する方法

C#

TouchDownイベントとTouchUpイベントにそれぞれ下記の関数をbindすればよい。 private readonly Stopwatch SWTouch = new Stopwatch(); private void Image_TouchUp(object sender, TouchEventArgs e) { if (SWTouch.Elapsed.TotalMilliseconds > 700) { Rig…

OverallViewer

必須コンポーネント 最新版 FAQ JSONファイル形式 AffineP2S ImageType EmulsionType Images 再配布は禁止します。 必須コンポーネント Need .NET Framework 4.8 Runtime. .NET Framework 4.8 Runtime が必要。 最新版 The latest version can be downloaded…

論文管理ソフト Zotero の紹介

論文をカテゴリ別に管理するのにめっちゃ便利なZetro。 https://www.zotero.org/ 日本語完全対応。OS非依存。クラウドは一切使わず、ローカルのディレクトリだけで完結している。 万が一パソコンが壊れても、データ・ディレクトリの場所をクラウドで同期する…

Ubuntu 18.04 LTSでlightdmを使ったときに自動ログインができない原因と解決

Ubuntuの設定画面→詳細→ユーザーから、あるユーザーにおける自動ログイン(Automatic Login)を有効にしても、自動ログインできないことがあった。 結果的に理由は単純で、自動ログインの設定後、デスクトップサービスをデフォルトのdgm3ではなくlightdmに変更…

How to Install NVIDIA driver and CUDA in Ubuntu 18.04 LTS UEFI

Install Ubuntu 18.04 LTS UEFI with GPU Ubuntu update and preparation Install CUDA and Nvidia driver Uninstall CUDA Install Ubuntu 18.04 LTS UEFI with GPU I made Ubuntu 18.04.3 LTS for Desktop BOOT USB flush memory with using Rufus.exe for …

Ubuntu 18.04 LTS UEFIにNVIDIA CUDAとcuDNNをインストールする方法

ドライバのバージョンの衝突 Ubuntu 18.04 LTSのインストール Ubuntuの更新と準備 CUDAとドライバのインストール cuDNNインストール アンインストール ドライバのバージョンの衝突 phst.hateblo.jp の記事を書いてから思った。CUDAに付属しているNVIDIAのド…

Ubuntu 18.04 LTS UEFIにNVIDIAの公式ドライバをインストールする方法

Ubuntu 18.04 LTSのインストール NVIDAドライバーのインストール 証明書をインポート 最後の確認 CUDAと一緒にインストールする場合は、Ubuntu 18.04 LTS UEFIにNVIDIA CUDAとcuDNNをインストールする方法を見てほしい。 Ubuntu 18.04 LTSのインストール Win…

Ubuntu に Nvidiaのドライバーを入れたときの E: Unable to correct problems, you have held broken packages. エラー

$ sudo apt install --just-print nvidia-driver-440 Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation …

apt コマンドのチートシート

簡略化のため、パッケージ(済のみ)=インストール済みのパッケージ、パッケージ(未含む)=未インストールを含む全パッケージとしている。 コマンド 内容 sudo apt update 利用可能なパッケージリストを更新作業前に実行 sudo apt upgrade インストール/アップ…

CUDA Toolkitの各バージョンを対応する全OSに導入する公式情報

過去のアーカイブも含めて利用可能なものは以下にまとめられている developer.nvidia.com 例えば、CUDA Toolkit 10.2を選んでみる そして、OS、CPU などの種類などを入れる するとコマンドが出てくるのでそのまま実行する wget https://developer.download.n…

キーボード・マウス操作の自動化

めっちゃ便利 www.vector.co.jp

Python+OpenCV+pyzbarでQRコードを読み取ってみる

取り急ぎ、Windows PCでQRコードを読み込みたい需要があったので、書いてみた。QRコードをデコードするコードは下記のqiitaを丸パクリした。 qiita.com import cv2 from pyzbar import pyzbar import subprocess # デバイス上でのウェブカメラを取得 cap = c…

Python YAML形式でKeyでソートさせない

qiita.com import yaml from collections import OrderedDict def represent_odict(dumper, instance): return dumper.represent_mapping('tag:yaml.org,2002:map', instance.items()) yaml.add_representer(OrderedDict, represent_odict) obj = OrderedDic…

Python: 正規表現ライブラリを使って、グループ化による置換

以下のような、核種を表す表記を、LaTeXで使えるような表記に置換したい。 He4 → \Nuc{He}{4}{} He5L → \Nuc{He}{4}{\Lambda} シンプルなコードだと以下の通り。 グループ化という機能を使って、正規表現側で () で囲むと、囲んだところが \1 \2 と番号が振…

単スリットのフラウンホーファー回折のシミュレーション

http://www.sci.keio.ac.jp/gp/87B7D75A/A6070F75/6E345155.pdf 単スリットについて考えてみた。 スリット幅が波長に比べて十分広いか、スクリーンの位置が十分遠い場合には、回折による干渉模様を観察できる。 数式をPDFファイルからパクって書いておく。 :…

Python: 二次元データを一次関数(y=ax+b)でフィッティング、係数と係数の誤差を得る

参考にした解説: http://www.cc.u-ryukyu.ac.jp/~fukami/p0.pdf 及び岐阜大学教育学部の物理学実験及びコンピュータ処理の解答例 ある二次元(x,y)の点列で与えられるデータ群を、一次関数 (=直線) でフィッティングするとき、カイ二乗を最小にすればよい。y…

はてなブログにおける数式の謎

はてなブログのmarkdown形式は、数式を書くのに不完全なのでおすすめできない。 下線はメタ文字になる ハットもメタ文字になる 行列は記述できない & が必ずエスケープされるので注意。 はてなブログで数式を書く - 七誌の開発日記 easy-copy-mathjax.xxxx7.…

Python: 分散共分散行列の求め方とMCデータの作成方法

Pythonのnumpyの np.cov を使って分散共分散行列を求め、モンテカルロデータを作るために np.random.multivariate_normal を使って分散共分散行列に従う乱数を生成する。 また、生成した乱数の標準偏差を求めることで、プログラムの検証をした。 import nump…

Windows向けCERN ROOT5がどのVisual Studioでコンパイルされたか確認する

root -config の標準出力に含まれる文字列で、Visual Studio のバージョンを識別できる vc12 ならVisual Studio 2013 vc11 ならVisual Studio 2012 vc10 ならVisual Studio 2010 下記は、Visual Studio 2013の例 ROOT ./configure options: CMAKE_CXX_STANDA…

Pythonの機械学習のための画像の前処理と後処理

画像の読み込み(今回はグレー画像) ROI (今回の画像は300×300pixel、中央56×56 pixelを使う) リサイズ(伝統的なサンプルにならって28×28 pixelにするため0.5倍) フリップ・回転(サンプル画像を8倍に増やすため) revel() で1次元化 import cv2 import numpy a…

Kerasのノウハウ覚え書き

qiita.com

Windows Subsystem for Linux (WSL) をバックアップ・復元・コピーする方法

forest.watch.impress.co.jp 何らかの事情でOSを移動や削除しなければならなくなった時、WSLを再インストールするのは大変面倒である。幸いなことに、Windows Subsystem for Linuxを管理するためのWSLコマンドには、既存のLinuxディストリビューションをその…

Windows Subsystem for Linux (WSL) を好きな場所でインストールする

Ubuntu 18.04 LTSの場合を例に紹介する。 同じディストリビューションがあるとインストールできないため、 wsl --list で、Windows Subsystem for Linux には、ディストリビューションがインストールされていません。 となっていることを確認する。 次に、St…