MarkdownとBullet Journal

いわゆるプログラマーのつぶやき

自分用:確定申告のやり方

確定申告のやり方を一から記録

ここ数年、ふるさと納税や医療器控除などでやってきてはいるが、毎年どうやったかを綺麗に忘れてしまうため、自分自身のために確定申告のやり方を一からメモする。所用時間は1〜2時間程度。

手順

用意するもの

①最初に行くwebサイト

注意!Macの場合はSafariを使わないと作業が出来ないため、Safariを利用すること

「確定申告書など作成コーナー」のサイトにまず行く。

確定申告書等作成コーナー/e-Tax(国税電子申告・納税システム)|国税庁

そのサイトの中に、「確定申告書等作成コーナー」のリンクがあるのでクリック(下URL)

確定申告書等作成コーナー/e-Tax(国税電子申告・納税システム)|国税庁

すると下記のサイトが現れる。

作成コーナーのサイト

通常は「作成開始」をクリックで良い

②申告書の作成準備

  • マイナンバーカードをお持ちの方で、
    • スマートフォンを用いてe-TAXを選択
    • 令和5年分(昨年度)の作成を選択
    • 4つ表示される中から「所得税」を選択
    • マイナポータルと連携するを選択
  • 事前準備の項目を読んで次へ
  • iPhoneのマイナアプリを問われる。インストール済みなら次へ
  • PC画面にQRコードが表示される
  • マイナアプリを立ち上げて、ログインする前にQRコードを読んでからログインする
  • 注意!ここで1分ほど待つとPCで続行可能となる
  • e-TAXの基本登録情報の一覧が表示され、次へ
  • マイナポータルとの連携に「はい」で進む。
  • 通常健康保険を利用した医療費関連が表示されるが後で手入力するので不要、
  • 確認して次へ

③申告書の作成

  • 申告書の作成を始める前に、のページで、
  • e-TAXで提出する
  • 給与以外に申告する収入あり
  • 青色申告なし
  • 予定納税額通知なし、で次へ

  • 給与所得の入力をクリック

  • 年末調整未調整を選んでクリック
  • 支払い金額、源泉徴収税額、社会保険料などの金額、会社住所、会社名を入力して確認

  • 続いて講演料を雑所得で入力

  • 続いてふるさと納税控除を入力
  • 続いて保険料控除を入力
  • 続いて医療費控除を入力:自動作成されたものを削除して新たに左側の医療費入力を使って一つずつ入力する

  • 建築関連の控除は次のページで現れるので適宜入力

  • 記入時の補助は別途補助金を受けた場合の金額で、控除とは別なので補助がなければゼロ

  • 全て入力が完了したら次へ進み、マイナンバーを入力してPDF保存して提出したら終了

  • 提出用紙と作成データをそれぞれ残すことができる
  • 例えば確定申告フォルダーなどに保存すると便利
  • 建築関連は提出資料があるので、後送信でPDFで送る(下記サイト参照)

③追加ファイルの送信

以下のサイトを参照して追加ファイル(エビデンス)を送る。

www.e-tax.nta.go.jp

※実際のe-TAX(web版)のサイトはこちら。MacSafariで作業のこと。

メインメニュー SE00S010 国税電子申告・納税システム

事前準備が必要な場合

登録中にエラーが出た場合は、事前準備セットアップが完了していない可能性があるため、下記手順に従って事前準備を行う。

  • (1)事前準備セットアップを実行(下記リンク先のインストールを実行)
  • (2)e-TAX(web版)のサイトに行く(上記リンク)
  • (3)起動画面でエラーが出たら、一つずつ要因を解決する。Safariの設定は必須。
  • (4)証明書登録はしなくて済んだ(私の場合)

e-Taxソフト(WEB版)を利用するに当たって | 【e-Tax】国税電子申告・納税システム(イータックス)

Jetson AGX Orin 導入編

2024/2時点で最高スペックのAIエッジデバイス

生成AIをエッジで動かしたいニーズが高まりつつあり、手軽にGPUを動かせるJetsonシリーズの内、2024/3時点で最高スペックのJetson AGX Orinを入手したので、導入ステップを備忘録として残す。

Jetson AGX Orin スペック

GPUエッジデバイスとしては現時点ではダントツの性能だ。生成AIも量子化などの工夫はいるが実用速度で動く(実証追記予定)。

  • AI パフォーマンス 275 TOPS
  • GPU 2048-core NVIDIA Ampere architecture GPU with 64 Tensor Cores
  • GPU 最大周波数 1.3 GHz

本体開梱

整然と箱に収まっており、取り出しは容易。

大きな箱に入ってます

蓋を開けると本体が見えます

裏面を見ると部品が見えます

付属のACアダプタと配線類

配線一式。なぜか電源ケーブルが3本もある

システムインストール

添付のペラペラのマニュアルに開始用のURLが書いてあるが、そこにアクセスするとページが無いと出るw。

指定のURLではNG

そこでQRコードで表示されるURLにアクセスすると無事にたどり着いた。

developer.nvidia.com

自動翻訳で表示した画面。

導入ステップガイドのページ

導入手順は以下となる。

導入手順

なお、他に以下を準備する必要がある。

  • ディスプレイ
  • DisplayPort-HDMI変換アダプターとHDMIケーブル
  • キーボードとマウス
  • イーサネットケーブル

導入① Ubuntuセットアップ

まず、以下を開発者キットに接続する。

  • HDMI入力モニターと、DisplayPort-HDMIアダプター/ケーブルを介して接続
  • USBキーボードとマウスを接続
  • イーサネットケーブル
  • 付属電源アダプタをJetson本体のDCジャックの上にあるUSBType-C™ポートに接続

しばらく経つと開発者キットの電源が自動的にオンになり、電源ボタンの近くにある白色LEDが点灯する。(そうでない場合は、電源ボタンを押すみたい)。コンピューターのモニターにUbuntuの画面が表示されるまで最大1分待つ。初めて起動するときは、開発者キットを使用して、次のような初期設定を行う。

  • NVIDIA Jetson ソフトウェアの EULA を確認して同意する
  • システム言語、キーボードレイアウト、タイムゾーンを選択する
  • ユーザー名、パスワード、およびコンピューター名を作成する
  • chromiun browserのインストール(まぁまぁ時間がかかる)
  • ワイヤレス ネットワークの構成

oem-configを完了すると、開発者キットが再起動し、ディスプレイに次のようなUbuntuデスクトップが表示される。

Ubuntuが起動した状態

なおこの画面で表示されるonline acountは選んでも反応しないのでSKIP。

導入② JetPack コンポーネントをインストール

初期設定が完了したら、L4T バージョンに対応する最新の JetPack コンポーネントをインターネットからインストールできる。

Ubuntuデスクトップを使用している場合は、ターミナルウィンドウを開く(Ctrl+Alt+T).

確認事項

まず L4T のバージョンをチェックして、古いバージョンの BSP でフラッシュされたユニットがあるかどうかを確認する。

cat /etc/nv_tegra_release

次のようなものが表示される場合があり、これは JetPack 5.0 Developer Preview の L4T があることを示す。

# R34 (release), REVISION: 1.0, GCID: 30102743, BOARD: t186ref, EABI: aarch64, DATE: Wed Apr 6 19:11:41 UTC 2022

以前のバージョンの L4T を使用している場合は、次のコマンドを発行して、以下のコマンドを使用して apt リポジトリ エントリを手動で配置する。

sudo bash -c 'echo "deb https://repo.download.nvidia.com/jetson/common r34.1 main" >> /etc/apt/sources.list.d/nvidia-l4t-apt-source.list'
sudo bash -c 'echo "deb https://repo.download.nvidia.com/jetson/t234 r34.1 main" >> /etc/apt/sources.list.d/nvidia-l4t-apt-source.list'

またはそれ以降が表示されている場合は、aptソースリストがすでに最新であり、続行できる。私の場合はR35(r35.2)と最新だったためこの作業はSKIP。

R34 (release), REVISION: 1.0

確認が終わったら次のコマンドを発行して、JetPack コンポーネントをインストールする。

sudo apt update
sudo apt dist-upgrade
sudo reboot
sudo apt install nvidia-jetpack

インストールが完了するまでに約1時間かかる。

次のステップ

以上でJetson AGX Orin 開発者キットのセットアップは完了。

次に、開発者キットと理想的な開発環境の設定に進む。

ポメラ同期の問題

ポメラから他への出力は問題ないが

既に述べている通り、ポメラは快適な文字入力デバイスで便利に使用している。またポメラで作成した文書はポメラシンクという機能でメモと同期させてたり、ブログ記事やメール宛先に送信することも簡単だ。

しかしながら最近は、挨拶状など定例文の様なものであればChatGPT-4で最初の叩き台を生成してから編集する手法が標準となりつつある。そこでまずはChatGPTで作った文章をポメラ側に移して編集をしたいと考えた。しかし、PC側からポメラにデータを移すのはかなり手間なことが判明したので、備忘録として残す。

色々とトライ

ポメラ本体には、ポメラとその他デバイスを同期させるためのツールとして、「ポメラシンク」が用意されている。利用する仕組みは以下の通りだ(設定方法は割愛)。

  • ポメラのルートフォルダの下に存在する「pomera_sync」内の全ファイルが同期対象になる
  • ポメラシンクすると、Gmaiの「Notes」の中に「pomera_sync」のフォルダに同期対象の全ファイルが表示される
  • さらにiPhoneのメモアプリでも「Gmail」「pomera_sync」のフォルダに同期対象の全ファイルが表示される

前記した通り、最初にポメラでファイルを作成する場合はこれで問題ない。しかし他のデバイスで作成/編集した場合はそうはいかない。

例えば、先にiPhoneメモアプリで「Gmail」「pomera_sync」フォルダ内に新規メモを作成してみる。その後ポメラシンクを行うと新規メモのファイルらしきものはポメラ側にも登場するがファイルの中身は空っぽだ。

次にiPhoneメモアプリの「Gmail」「pomera_sync」フォルダ内にある同期対象のメモ(ファイル)を編集しても、ポメラシンクでポメラ側に変更が反映されない。

解決方法:PCリンク

この方法での解決は不満だが、他に解決方法が見つからないので記載する。

USBケーブルでポメラとPCを接続する「PCリンク」を使うと、PC側からポメラの本体メモリおよびSDカードメモリがフォルダとして可視化されるので、PCで行う通常のファイル移動の様に、PC側で作成/編集したファイルをポメラに移動すれば良い。

Macからポメラ本体のフォルダが見える

もちろんPC側でダイレクトにポメラ側のファイルを編集することも可能だ(あまり推奨されないと思うが)

MacポメラをUSBケーブルで接続した状態

誰か良い解決方法があったら教えて欲しい。

日本語の面白さ(2)

漢字の字体

日本語の主要文字として使われる漢字は紀元前2,000年頃と推定されている甲羅や骨に刻み込まれた甲骨文字が最初に登場し、その後金文、大篆、篆書体(小篆)、隷書体、草書体、行書体、楷書体と書道と共に発展した。その後印刷の登場で、宋朝体明朝体、ゴシック体が主要な字体となり、さらに電子デバイスではゴシック体の一強となり今に至る。

甲骨文字
  • 最初の漢字として登場
  • 亀の甲羅や骨などに彫って字を書いた
  • 現在はほぼ使われない:特殊な書道
  • 利用率:0%

金文

  • 銅鐸など金属類に彫って字を書いた
  • 現在はほぼ使われない:特殊な書道
  • 利用率:0%

大篆

  • だいぶ整理されてきたがまだまだ象形文字
  • 亜流が多数存在しかなり字体が異なる
  • 現在はほぼ使われない:特殊な書道
  • 利用率:0%

篆字体(小篆)

  • 始皇帝が全土統一に合わせて字体の全国統一を目指してまとめたもの
  • 頻度は低いが現在も格式高い字体としてパスポート表紙、印鑑などで使用
  • 利用率:0%

隷書体

  • 書きにくい篆書体を書き易さ重視で作り替えた書体
  • 以降に生まれる各書体の基本形と考えられる
  • 頻度は低いが現在も格式高い字体としてお札、表彰状などで使用
  • 利用率:0%

草書体

  • さらに速く書ける様に崩した書体。最初は草隷と呼ばれていた
  • 筆と紙の発達と共に、中国や日本の標準的な書体となった
  • 頻度は低いが現在も使われる:書道一般
  • 利用率:0~1%

行書体

  • 隷書体から草書体とは別で元の字体が分かる程度に崩された書体
  • といいつつ行書体と草書体の中間のような書体もある(行草)
  • よく使われる:手書きメモ、書道一般
  • 利用率:2~5%

楷書体

  • 隷書体から草書体や行書体と別でカッチリとした字体で生まれた書体
  • 美しい手本が中国に多数存在する
  • よく使われる:手書きメモ、書道一般
  • 利用率:2~5%

宋朝体

  • 宋朝時代に登場
  • 手書きから印刷への移行で最初に登場した書体
  • 頻度は低いが現在も使われる:印刷
  • 利用率:0%

明朝体

  • 明朝時代に登場
  • 印刷の標準書体とした中国や日本で確立された。
  • 多用される:新聞や本など印刷物一般
  • 利用率:20%

ゴシック体

  • 明朝時代に登場(意外に古い)
  • 電子ディスプレイとの相性が良く、あらゆるPCやスマホの標準書体
  • 例:iPhoneフォントはヒラギ角ゴシック
  • 多用される:電子機器類の表示一般
  • 利用率:70%

様々なフォントの登場

  • 印刷の世界でデザイン性の高いフォントが活用される
  • PC主体となった今、膨大な種類のフォントが存在
  • しかしながら現在も主流は明朝体とゴシック体

全体的な字体の変遷

  • まず甲骨文字が登場し、洗練された金文となり、大篆では様々な亜流が発生
  • 始皇帝が篆字体(小篆)に統一
  • それが隷書体に進化(統一を維持)
  • 用途別に草書、行書、楷書が生まれる(分化)
  • 印刷の登場と共に宋朝体、よりエレガントな明朝体が生まれ印刷の覇者へ
  • 最後に生まれたゴシック体が電子デバイスで最も使われる勝者になった

基本的にフォントの違いと言える程度で読むのにさほど困らないものは、隷書体、行書体、楷書体、宋朝体明朝体、ゴシック体、その他フォント。

知識が無いと読み難いのは甲骨文字から篆書体までと草書体で、この読解力に関しては日本人も外人も大差ない。

日本語の面白さ(1)

1.漢字の読み

SNSなどで時々日本語の難しさが議論になることを見かける。特に外人にとっては日本語は易しさと難しさがそれぞれある様だ。

易しさとしては、母音が5つしかない、中国語の様な四声がない(フラットな発音)、ひらがなまたはカタカナだけなら覚える言葉も最少で済むという意見だ。

反対に難しさを指摘する声は圧倒的に漢字だ。通常の読み書きで2000程度の漢字を使うそうだが、この漢字に皆苦戦するそうだ。しかし外人が中国語を使う場合も同様の難易度に思うが、どっこい違うようでアメリカ人にとって最難関言語が日本語となっている。

なぜ同じ様な漢字を使う日本語が中国語と比較してそんなに難しいのか。この連載記事では順に日本語の難しさ(面白さ)を取り上げてみたい。

一つの漢字に複数の音読みがある

まず音読みから考察する。音読みは中国の発音をそのまま輸入したものだ。しかし日本には一つの漢字に複数の音読みが存在する

中国語と日本語の最大の違いはここだ。中国ではごく一部の例外を除き、一つの漢字は一つの読みしか存在しない。例えば北は「ベイ」で京は「ジン」、合わせて北京は「ベイジン」と発音し、それ以外の読みは存在しない。

しかし・・ここで変だなと感じる方も多いはず。そう、北京は日本では「ペキン」と発音するからだ。しかもこの「ペ」も「キン」も日本で使う漢字の通常の読みでは存在しないので中国由来の音読みであることは明白だ。

実は中国は4,000年の歴史と称しているが、戦争で何度も納める国が変わっており、その各国毎に同じ漢字を使うものの、漢字の読みが違っているのだ。

例えば東京は「トウ」「キョウ」と読む。しかし「京」は京浜線などで使われる様に「ケイ」とも読まれる。日本に漢字が輸入された時の国の読み方の違いで、古い順から、呉音、漢音、唐音、華音(現在中国語の読み)と4種類ある。これを各国毎に整理してみよう

  • 東の読み方
  • トウ  呉音
  • トウ  漢音
  • トン  唐音(比較的近年で麻雀の読みなどで使われる)
  • ドン  華音(現在の中国語の読みで日本では使われない)

  • 京の読み方

  • キョウ 呉音
  • ケイ  漢音
  • キン  唐音(比較的近年で麻雀の読みなどで使われる)
  • ジン  華音(現在の中国語の読みで日本では使われない)

漢字の訓読み

日本に伝わった時代別で漢字の音読みが複数存在することを述べたが、さらに日本での漢字の読み方に訓読みがある。少し歴史的背景を整理して考察してみよう。

まず紀元前の頃から日本には日本語の原点とする言葉:大和言葉があったが、文字は持たずすべて口伝で伝える状態であった。その後中国から漢字が入ってくると、その漢字の音読みを利用して、大和言葉のあいうえおの日本語に合うように漢字を使い始めた。

例えば、以下の様になる。

  • きょうはいいてんきですごしやすい(現代国語)
  • けふはいヽてむきてすこしやすい(旧仮名遣い→連載で後日説明)
  • 計不波以ヽ帝武畿天春古志也寸移

これを万葉仮名と呼び、漢字のまま書いてその音を50音の表記として利用した。例えば「え」の場合は「江」「衣」のいずれか、「く」の場合は「久」「九」「具」など比較的自由に音読みが一致する漢字を選んで記載していた。「よろしく」は「夜露四九」とも「与路志具」とも書けるし、それで意思が伝わっていた(変体仮名→連載で後日説明)。

なお、現代の日本語が英語の言葉を「テレビ」とカタカナ表記する様に、当時の新しい言葉として中国語(音読み)が大和言葉に加わった。

また次第に元々大和言葉にある言葉と意味が一致する漢字に大和言葉の読みを当てる様にもなった。「山」→「さん」→「やま」。これが訓読みと呼ばれるものだ。

結果として当時書かれた文章には、漢字が現代のようにそのまま音読み/訓読みで使われる物と、上記の万葉仮名が入り混じる和様式となった。例えば、「雲の過ぎゆく過程を見る」の場合なら「乃春支由久過程遠美留」の様に、音読みや訓読みする漢字と万葉仮名が混じって記載される。

結果として「東」の読みに以下の訓読みが追加される。

  • 東の読み方
  • ひがし 訓読み
  • あずま 訓読み
  • こち、はる、はじめ、ひで・・・訓読み(人名)
  • トウ  呉音
  • トウ  漢音
  • トン  唐音(比較的近年で麻雀の読みなどで使われる)
  • ドン  華音(現在の中国語の読みで日本では使われない)

この様に複数の読みが多数存在する日本語が中国語よりも難解なことも理解出来てくる。例文として以下を見てみよう。

  • 今日は1月1日元旦の日曜日で祝日、日本晴れの日です
  • 7つの日がすべて読みが異なる
  • ふ(きょう→けふ)訓読み
  • たち 訓読み
  • ニチ 呉音
  • び  訓読み
  • ジツ 漢音
  • に  訓読み
  • ひ  訓読み
  • 他に、か(三日)、す(明日)などの訓読み

この「日」の読み分けは外人に取って相当に難しいようだ。

さて、次の記事では字体について述べる。

再びポメラからブログへ

久しぶりにポメラからブログへ

ポメラが故障して(液晶ドライバ破損とのこと)修理で戻ってきたので(修理代は約2万円)、久々にポメラからブログへのUPを試してみる。

修理で帰ってきたポメラ

実に簡単だ。

  • ポメラのメニューで「ツール」ー「アップロード」を選ぶ
  • するとWifi接続を開始するので接続完了までしばらく待つ
  • 宛先にはてなブログの投稿用メルアドを入れて(一度入力すると選択するだけでOK)「開始」を押す
  • 完了したら、web側で確認

注意点(という程でもないが)は以下。

  • ファイル名が記事のタイトル名になる(修正OK)
  • 記事内の見出しのハッシュは##(2個)から始めた方が良い。1個は大きすぎる

Progressive distillation:リアルタイム画像生成の実現

30枚の画像を1秒で生成

Emad氏が、Stable Diffusion2.1で秒間30コマの驚異的速度での画像生成を発表した。これはプロンプトに変更を加える度に即座にリアルタイムで絵が変化するという、今までとは全く異なる使用感が得られる次世代の画像生成を意味しており、ゲームチェンジャーと言えよう。

これまで:2022年8月:5.6秒で1枚生成

→まもなく:1秒で30枚生成に進化

www.reddit.com

これは従来20~50ステップ数が必要だったAI画像生成を、わずか1~4ステップで生成出来る、「Progressive distillation」というデノイズ処理(ノイズ削減処理)を大幅に高速化する生成手法(サンプラー)を用いるものだ。

AppleのM2 Macだと1秒以内での画像生成が可能とアナウンスしている。

the-decoder.com

高速化の歴史

Stable Diffusionは「拡散」の名前通り、学習と推論にノイズ画像と拡散を利用する。

学習時には原画像にノイズを付与(拡散)するプロセスを行い、推論時にはノイズ画像からノイズを除去するプロセスを行うが、これらの処理はU-Netが担当する。

U-Netも最初は、①生成画像と同サイズのノイズ画像への拡散、②ノイズ画像から1,000ステップものデノイズ処理を行う推論(DDPM)、に相当な時間がかかっていた(一枚生成するのに1時間以上)。

そこでU-Net処理を高速化すべく、まず画像サイズを縮小して行うLatent Diffusion Models(潜在=Latent空間で学習を行う拡散モデル)の採用で処理時間が1/48程度まで短縮された。

次にステップ数(デノイズの推論回数)を減らす改善が色々と行われてきた。このステップ数(デノイズ推論回数)をへらすための様々な工夫を加えたデノイズ手法をツールではサンプラー(サンプル手法)と称している。現在20から50ステップ程度までステップ数が削減されている(1/50程度まで短縮)。

結果として、Latent Diffusion Modelsの採用で1/50、サンプル手法の改善で1/50、合わせて1/2,500もの速度改善が行われた結果、現在の数秒~数分での画像生成が実現した。

下は現在のAUTOMATIC1111の18種類のサンプラーの一覧。オイラー法(Euler)、ホイン法(Heun)は処理に用いる常微分方程式の数値解法の考案者名から来ている。速い収束を見せるDDIMやPLMSに続き、現在はルンゲ・クッタ法をベースとするDPM-Solverが高速で人気が高い(12個もバリエーションがある。20ステップ程度で収束)。

AUTOMATIC1111のサンプラー 18種類

なお各サンプラーの具体的な実装の違いなどはとても面白く、SONYYoutubeサイトで詳細を学ぶことができる。

www.youtube.com

新たに登場した最速サンプラー

上記の動画の中で「最も高速」と紹介されているのが、今回Stable Diffusionの著しい高速化を実現しようとしているProgressive distillationだ。

高速化のための様々な手法:SONYYoutube画面より

高速化のための様々な手法:SONYYoutube画面より

間もなくサンプラーに「Progressive distillation」が追加され、わずか1~4ステップでの高速生成を楽しめることになるだろう。下の写真を見る限り、1または4という非常に少ないステップ数でも256ステップ数と差がない。NVIDIAMacも瞬時に画像が生成出来る様になる。

256ステップ、4ステップ、1ステップの生成画像の比較

論文はこちら

 

なお新しい高速化手法としては「Denoising Diffusion GANs」もあり、こちらもいずれサンプラーに追加されるかもしれない。

nvlabs.github.io

 

サンプラーの種類による生成差

サンプラーが変わると生成される絵も変化する(あまり変化しないものもある)。参考としてネットにあった、現行AUTOMATIC1111の18種類のサンプラーとCFGスケールの違いによるピエロの生成例画像を示す。

18種類のサンプラーとCFGスケールの違いによる生成例

今後登場するProgressive distillation、Denoising Diffusion GANsによる生成も同様に絵は変化する。