Windows 11でBitLockerを無効化する

 最近Windows更新後に突然BitLockerの回復画面が表示されて、回復キーがわからずに詰むケースが多発しているみたいですね~

 

 

 でも、うちのWindows 11はHome Editionだから大丈夫、と思っていました。Home EditionはBitLockerに対応していないはずですしね。

 

 ところが出たんです。。。お化けじゃないです(笑)。

共有のパソコンでエクスプローラを開くとこんな画面が出てきました。

 

 SSDのアイコンに見慣れない「!マーク」が付いているんです。

ググってみると、どうやらBitLocker関連のワーニングっぽいです。

 

 

 早速「!マーク」を消す方法をやってみようとしたのですが、設定画面の内容が違うんですよ。問題にパソコンにはWindows 11 Home の最新バージョン21H2が入ってますが、Windowsのバージョンによって設定画面が違うようです。

 そこで、何か操作を間違えてアクセスできなくなったらどうしよう、と少しドキドキしながら「!マーク」を消せるかどうか試してみました。

 

1.スタートメニューの歯車アイコンから設定画面を開きます。

2.左側のタブから「プライバシーとセキュリティ」を選択します。

 するとこんな画面が出てきます。

 

 「暗号化しようとした覚えはないのだが」と突っ込みを入れながら、デバイスの暗号化のスイッチをOFFに変更します。

 

 

 すると「暗号化解除が進行中です」というメッセージとともに進捗バーが進んでいきます。やっぱり暗号化されてたのかなぁ?と思いながら5分ほど待つと画面が変わりました。

 

 

 デバイスの暗号化が完全にOFFになったようです。

 この状態でエクスプローラーのドライブ一覧を見てみると・・・

 

 無事、「!マーク」が消えたようです。

 冒頭のBitLockerトラブルの記事を読んだ後で、ドライブの!マークに気づいて、パソコン再起動時にドライブにアクセスできなくなったらどうしよう、と少し心配していたのですが、これで一安心です。

 

P.S.

 事前に下記の手順でBitLocker回復キーを確認して記録しておくとより安心です。

 私の場合は、マイクロソフトアカウントにBitLocker回復キーが保存されていました。

回復キーが保存されていたということは、誰かが暗号化設定を変えてしまったのか?

謎は深まるばかり。。。

 

 

では、また。

 

iPhoneの文字入力を少しだけ速くする方法

 日経PC21の最新号を読んでいて、久しぶりに便利なiPhoneのTIPSを見つけました。

 

 

 iPhoneのTIPSはいろいろな本で紹介され尽くしているので、新しいネタを見かけることは少なくなってきているのですが、今回のネタは私的には久しぶりのヒットだったので、いろいろ試してみました。

 

と、あまりハードルを上げてしまうと後でなーんだと言われてしまいそうですが、

ずばり、日本語入力を少しだけ速くする方法です。

 

 例えば、「時間がないので東京まで電車で行く」という文章を打つとき、みなさんはどのように入力しますか?私は「じかんがないのでとうきょうまででんしゃでいく」と、そのまま素直に入力していました。

 

「し、濁点、か、ん、か、濁点、な、い、の、て、濁点、と、う、き、よ、小字、う、・・・」といった感じで入力しつつ、ところどころで予測変換を使って漢字に変換していました。

 

      

 

 こんな感じですね。今回は見やすくするために途中で漢字変換せずに一気に入力しています。

 

 ところが、最近は予測変換が賢くなっているので、「濁点」とか「小字」を打つ必要がないんですね~。まさしく目からうろこでした。

 

      

 

 「し、か、ん、か、な、い、の、て、と、う、き、よ、う、・・・」

 で変換できるんです。賢い!!

 

 私は「濁点」とか「小字」は入力するときに一瞬思考を奪われる傾向があるようなので、この方法に慣れればストローク数削減以上の高速化効果がありそうな気がします。

 他にも、

 

     

  とか、

 

     

 

 など、いくつか試してみた感じでは、「濁点」や「小字」を省略してもかなり高い確率で漢字に変換できるようです。

 慣れるまで少し戸惑うかもしれませんが、日本語入力が確実に速くなりそうです。

 

 こういう記事があるから、日経PC21の購読はやめられないです。

 

では、また。

 

Stable Diffusionを動かしてみた

はじめに

乗るしかない このビッグウェーブ」ということで、今非常にホットな画像生成AI
Stable Diffusion」を動かしてみました(ビッグウェーブおじさん、何してますかね~)

使用マシンはRTX3070 Laptop搭載ノートPCのASUS Zephyrus M16。
RTX3070の実力やいかに。

動かしてみた

今回試してみた環境は次の3種類

1. WSL2 + Anaconda

 まずはWSL2(Windows Subsystem for Linux)にAnacondaを入れた環境でトライ。
 github.com  上記ページの手順を試すが、実行中に突然『kill』される。


 CUDAを正しく認識できていない模様。
 www.kkaneko.jp

 上記ページを参考にWSL2用のNvidiaドライバを入れる等を試みたがNG。一旦保留。
 Windows11に移行したのでもう少し楽に動くかと思ったが、WSL2+CUDAは鬼門。

2. Anaconda prompt

 WSL2+CUDAが動かなかったので、Anaconda Prompt(DOS窓)から試してみました。
 zenn.dev  上記の記事が参考になりました。ただし、この方と同じく私のRTX3070(8GB)ではGPUメモリ不足によりオリジナルのコードはうまく動きませんでした。本ページに下の方に記載されているフォーク版を使うことで動作させることができました。

 ただし、私の環境では一点だけ追加の作業が必要でした。

stable-diffusion/models/ldm/ 配下にstable-diffusion-v1フォルダを移動させます。

の時に、stable-diffusionの直下にあるsrcフォルダも移動させる必要がありました。
これをしておかないと、実行時にエラーで落ちてしまいました。

3. Google Colab

 最後はGoogle Colabです。これはサーバー側のGPUを使います。
gigazine.net gigazine.net  これは上記ページの手順であっさり動きました。お手軽です。

 初心者に勧めるとしたらこれが一押しですね。手元のPCに強力なGPUを必要とせず非力なPCでも動きます。サーバー側のGPUを使っているので、そこそこの速度で動きます。私が実行したときは512x512の画像1枚を作るのに30秒くらいでした。
 ただし使用時間制限等があるので使用時には注意が必要です。

 基本的には1回の実行で画像が1枚出てきますが、実行コードをちょっと書き換えればまとめて生成することも可能です。こんな感じです

prompt = "Foggy San Francisco skyscrapers. Vincent van Gogh"

fig = plt.figure(figsize=(28,7), dpi=100)

images=[]
for i in range(4):
  images.append( pipe(prompt)["sample"][0] )

for i in range(4):
  ax = fig.add_subplot(1,4,i+1)
  ax.axis("off")
  ax.imshow(np.array(images[i]))

fig.suptitle( prompt, size="xx-large")

この例では霧のサンフランシスコをゴッホの画風で描かせています。

1行目のpromptの中身を書き換えるといろいろな絵が描けます。


点描で有名なジョルジュ・スーラ風に~


叫びで有名なムンク風に~


浮世絵の葛飾北斎風に~

簡単に絵を描けるので楽しいですね~
なかなか思い通りの絵になりませんが。。。

最後に

google colabすごいですね~
3種類の環境を試してみましたが、手軽さの点ではgoogle colabがダントツです。
これだけのものを無料で提供するなんて太っ腹ですね~、googleさん。


では、また。

Jupyter Notebookでmatplotlibのグラフが表示されない

 Jupyter Notebookを使っているときに、matplotlibでグラフを描くと普通はインラインで表示されますよね。先日、シンプルなコードなのにグラフがなかなかインライン表示できずに、少し手こずったので現象と対策をまとめてみました。

 

 問題のコードはこんなコードです(わかりやすくするために簡略化しています)。

 

 セルを一番上から1個ずつ実行していくとこんな感じの画面になります。

グラフが表示されない・・・

 

 

 ネットで検索すると、Jupyter Notebookでmatplotlibのグラフが表示できないときの対策は、先頭に「%matplotlib inline」を付けましょうとか、最後に「plt.show()」を付けましょう、といった方法がよく出てきます。

 ところが、どちらをやってみてもダメなんですよね・・・

先頭に「%matplotlib inline」を付けた結果は下記。

 

 

 変わらずですね。いろいろ試行錯誤してみました。

別の仮想環境を作ったり、jupyterやmatplotlibを入れなおしたり・・・

 

結局、とあることをしたら表示できるようになりました。どうやったと思います?

 

 正解は、「複数のセルに分割して記述しているコードを一つにまとめる」でした。

こんな感じです。

 

 

 Jupyter notebookでは、プログラムを一つのセルにまとめて書こうが、複数のセルに分けて書こうが、セルを順番に実行していけば同じ動作をするものと信じていたのですが、matplotlibについては挙動が変わるようです。

 

 試しにセルの分割位置を変えてみるとこんな感じになります。

 

 1.「figureの生成」+「axesの追加」と「グラフのプロット」の間でセルを分割

 こちらは、plot()を実行する前に空のグラフが描画されています。

 

 2.「figureの生成」と「axesの追加」+「グラフのプロット」の間でセルを分割

 

 こちらは最初の結果と同じく何も描画されません。

 

 おそらく、matplotlibでは「figureの生成」が入っているセルを最後まで実行した時点で、グラフ描画が起動され、それ以降はグラフの内容が更新されても描画は実行されない。ということでしょうか?

 ちなみに、このコードの最後に、fig.show()を付けて強制的に描画させると、こんな結果になります。

 

 

 「figureの生成」が入っているセルの実行が完了した時点で、matplotlibのバックエンドが非GUIのもバックエンドに切り替わってしまっているようですね。

 これが仕様なのかどうかは定かではありませんが、同じような症状で困っている方はお試しあれ。

 

ではまた。

 

 

 

 

ASUSのノートパソコンを修理に出してみた

もうすぐASUSのノートパソコンZephyrus M16を購入してから1年になります。

いろいろと元気に活躍中です、と言いたいところなのですが・・・トラブル発生。

 

先月末頃から急にUSB-C端子経由で映像を出力できなくなってしまいました。

 

 Zephyrus M16にはUSB-C端子が二つ(Thunderbolt対応、非対応が1個ずつ)あるのですがThunderbolt側の方から映像が出力されなくなってしまいました。もう一方のUSB-Cからは映像を出力できているので、Thunderbolt側のUSB-Cポートだけに不具合が発生している状況です。このポートに他のUSBデバイスを指すと「デバイスUSB3.0に接続するとさらに高速で実行できます」と表示されることからUSBポートが完全にアウトというわけではなくUSB2ポートとして認識されているようです。

 

 BIOS更新やデバイスドライバーの再インストール、システムの修復コマンド等を試すも状況は改善せず。もう一方のUSB-Cポートからは映像を出力できるので我慢しながら使い続けることも考えたのですが、まだ購入から1年経過しておらずギリギリで保証期間中であることもあり、ASUSに修理に出してみることにしました。

 

その時のASUSが『神対応』だったので思わずブログに書いてしまいました。

 

www.asus.com

 

以下、修理の経緯を時系列で紹介します。

 

8月3日(水)夜

ASUSサポートサイトの「メールでのお問い合わせ」から、不具合の症状を問い合わせフォームに入力して送信。

 

8月4日(木)午後

サポートセンターからメールにて回答あり。

丁寧な文面による不具合発生のお詫びに加えて、BIOS更新、デバイスマネージャーでのドライバ再インストールなど、3種類ほどの対策を試してみるように依頼される。

 

8月4日(木)夜

メールで依頼された対策を試したが状況が変化せず。

状況が変わらなかったことをサポートセンターへメールで報告。

 

8月5日(金)午後

サポートセンターからメールにて回答あり。

修理の申し込み方法の説明、注意事項について記載されていた。

 

8月6日(土)

ASUSオンライン修理サービスのページから修理申し込み。

SSDは消去される可能性があること、通常は修理には1~2週間要すること、パソコン引き取りサービスの日時指定は修理申し込み受付日から3日目以降であること等を説明される。SSDバックアップ等に要する時間を考慮して、8月12日(金)午前引取で申し込む。

 

8月8日(月)午前

修理受付完了のメールあり。

※土日はサポートセンターが休みなので最短での回答。

 

8月12日(金)

日通航空の方が家までパソコンを引き取りに来てくれる。

購入時の箱に梱包しておいたパソコンを渡す。受け取り後にプチプチを巻いてから運搬してくれるとのこと。

 

8月13日(土)午後

修理センターから着荷のメールあり。

修理番号が発行され、Webからステータスを確認できるようになる。

 

8月16日(火)午後

修理および出荷手配完了とのメールあり。

 

8月17日(水)午前

修理が完了したパソコンが我が家に届く

 

 電源を入れて動作確認したところ、無事Thunderbolt側のUSB-Cから映像が出るようになっていました。

 症状的にハードウェアの不具合を予想していたのですが、修理レポートによるとSSDの初期化(OSクリーンインストール)で不具合が治ったようです。保証期間内ということで修理費は掛かりませんでした。

 

今回、ASUSのサポートが「神対応」と感じた理由はいくつかあります。

 

[1]サポートセンターのメール対応がとても丁寧。

 サポートセンターが休みの日以外は、全て翌日に回答をいただけました。文面はとても丁寧で、書かれている内容(指示・対応等)も的確でした。

 

[2]航空便による運送

 一般的には修理のための運搬はトラック運送になると思いますが、ASUSは航空便でした。ユーザーが不便な思いをする時間ができるだけ短くなるようにという配慮を感じました。

 

[3]迅速な修理対応

 今回は修理のタイミングがちょうどお盆に重なってしまったので時間が掛かることを覚悟していたのですが、お盆休みの期間中にもかかわらず、とても迅速に修理をしてもらえました。

 

今回の件でASUSに対しては非常に良い印象を持ちました。

何年後になるかわかりませんが、次回パソコンを購入する際の最有力候補ですね。

 

では、また。

 

 

NeRFをgoogle colabで動かしてみる

始めに

いまさらかもしれませんが、NeRFすごいです。
フォトグラメトリによる3D再構成結果と比べると革新的な技術に思えます。

www.matthewtancik.com
GitHubにコードがあるので私の環境でも動かしてみようとしたのですが、
- Windows PC(RTX3070搭載):WSL2のCUDA対応がうまくいかず。
 OSをWindows10のinsiderPreviewかWindows11に更新すれば
 動かせそうな気配もあったがまだOSを更新したくなかったので断念。
- Intel Mac:CUDA非対応なので断念。

NeRF作者のgithubをみるとGoogle Colabでも動くようなのでトライ。

残念ながら、最近Google Colabではtensorflow 1.xが非サポートとなったようでそのままでは動きませんでした。試行錯誤した結果、それっぽく動くようになったので、手順をシェアします。

環境構築

最初にgoogleアカウントを用意します。
持っていない人は下記のページで作成してください。

www.google.com


次に下記のリンクから「Google Colaboratory」を開き、ノートブックを新規作成します。

colab.research.google.com

次に、下記ページを参考に、Google Colaboratoryにてgoogleドライブをマウントします。
www.teamxeppet.com
フォルダを移動します。
Google Colaboratoryの入力ボックスに下記のコマンドを入力後、左側の再生ボタンを押します(これ以降の部分も同様の手順でコマンドを実行していきます)。

cd drive/MyDrive/


次に、githubからNeRFのコード一式を持ってきます。

github.com

!git clone https://github.com/bmild/nerf.git --recursive




Google Colab「ファイル」のファイルメニューから「ドライブで探す」を実行



nerfフォルダの中にGitHubからダウンロードしたtiny_nerf.ipynbがあるので、ダブルクリックして開く。



ランタイム→「ランタイムのタイプを選択」ハードウェアアクセラレータをGPUにして保存

[重要]先頭のセルを次のように書き換える。
修正前

try:
  import google.colab
  IN_COLAB = True
except:
  IN_COLAB = False

if IN_COLAB:
    %tensorflow_version 1.x

import os, sys
import tensorflow as tf
tf.compat.v1.enable_eager_execution()

from tqdm import tqdm_notebook as tqdm
import numpy as np
import matplotlib.pyplot as plt


修正後

!pip install tensorflow-gpu==1.15
!pip install numpy==1.19.5
try:
  import google.colab
  IN_COLAB = True
except:
  IN_COLAB = False

#if IN_COLAB:
#    %tensorflow_version 1.x

import os, sys
import tensorflow as tf
#tf.compat.v1.enable_eager_execution()

from tqdm import tqdm_notebook as tqdm
import numpy as np
import matplotlib.pyplot as plt


あとは順次セルを実行していくだけです。
ランライムの再起動を求められたら、適宜「ランタイム」メニューから再起動してください。


では、また。


umikazeken.hatenablog.com

DALL-E2でいろいろ試してみるシリーズ(桃太郎編)

DALL-E2でいろいろ試してみるシリーズ。

今回は著作権の問題がなさそうな『桃太郎』を劇画調で描いてみます。どんな絵が出てくるやら。

これまでと同様に日本語の文章をDeepLで英語に翻訳後DALL-E2に入力しています。

 

シーン1:川で洗濯をしているおばあさんが桃を拾うシーン

小さな村の小川を直径が1mくらいある巨大なモモが流れてくる。その川のほとりで大きなたらいと洗濯板を使って洗濯をしているおばあさんが流れてくるモモに気づいて手に取ろうとしている。劇画調で。

 

「直径が1mくらい」とか「巨大な」とかがうまく反映されていないですね。

DALL-E2は常識に反した絵を描くのが苦手なようで、実在しない「巨大な桃」を描かせるのはなかなか手ごわそうです。文章を少し変えてみます。

・もう少し和の雰囲気を出したかったので、「日本の」「割烹着を着た」を追加

・巨大な桃を出したかったので、「人間が中に入れそうなくらい」「超巨大な」として大きさを強調

Try again!!

日本の草原を流れる小川に、人間が中に入れそうなくらい超巨大なモモがゆっくりと流れてくる。その川のほとりで大きなたらいと洗濯板を使って洗濯をしている割烹着を着た年老いたおばあさんが流れてくるモモに気づいて手を伸ばしている。劇画調で。

 

かなり後退してしまった感じですね~

文章が長すぎて破綻してしまった感があります。

桃の巨大さを強調しつつ、要点を絞って簡略化してみます。

 

小川に直径3mの超超巨大なモモが流れてくる。その川岸で大きなたらいと洗濯板を使って洗濯をしているおばあさんが流れてくるモモを見つめている。劇画調で。

1枚目はおばあさんと桃が合体してしまっています(笑)。

3枚目と4枚目は良い感じです。本当は桃が川を流れている絵を期待していたのですが、いつまでもこのシーンに引っかかっているわけにはいかないので次に進みます。

個人的には4枚目が一番気に入りました。

 

シーン2:桃の中から桃太郎が出てくるシーン

次は、おじいさんとおばあさんが割った桃の中から桃太郎が出てくるシーンです。

シーン1に負けず劣らず常識に反したシーンなので苦戦しそうな予感満載です。

 

古い民家の中で、巨大なまな板に乗った直径3mの超超巨大なモモをお婆さんが大きな包丁で真っ二つに割っている。割れた桃の中からは元気な男の子が出現している。お爺さんが傍らで見守っている。劇画調で。

 

予想通り惨敗です。シーン1で大きくなった桃がまた小さくなってしまいました。

桃の中に何かが入っているようにも見えますが、桃太郎、では無さそうです。

先程のシーンと同じく、要素を最小限に削りつつ表現をブラッシュアップしてみます。

 

 

直径3mの超超巨大なモモをお婆さんが包丁で切っている。桃の中からは種の代わりに人間の男子が出てきている。劇画調で。

桃は多少大きくなりましたが、もう二回りほど大きくなって欲しかったです。

「お爺さんが傍らで見守っている」というフレーズを削除したにもかかわらず、4枚ともお爺さんが出てくるのは興味深いです。

1枚目と4枚目で迷うところですが、1枚目はおじいさんとおばあさんの他にもう一人いるのが物語とマッチしないので、4枚目をチョイスしました。先を急ぎます。

 

シーン3:犬、猿、雉を従えて鬼ヶ島へ向かうシーン

本当はきびだんごをあげて子分にするシーンにしたかったのですが、難易度が上がりすぎるので、きびだんごは割愛しました。

 

縦長ののぼり旗を持ち、頭に鉢巻を巻いた和服の少年が野原を歩いている。少年の横には、犬、サル、キジが家来のように従っている。劇画調で。

 

 

一見、悪くなさそうな結果に思えたのですが、よくよくみると動物同士が混じていますね。なぜか犬と猿が混ざりやすいようです。英文を確認してみると、

A boy in kimono carrying a vertical banner and wearing a headband on his head is walking in a field. A dog, a monkey, and a pheasant follow him like retainers. In a dramatic style.

文法的には犬と猿が混ざる要素は見当たらないのですが・・・

君たちは犬猿の仲ではないのか、と突っ込んでみたくもなってきます。

犬猿問題に目をつぶれば、2枚目の絵がよさそうです。

DALL-E2のクレジットが減ってきたので、深追いせずに先に進みます。

 

シーン4:犬、猿、雉と一緒に鬼と戦うシーン

最後は桃太郎とその仲間たちが鬼と戦うシーンです。

 

和服の少年、犬、サル、キジが日本の鬼たちと刀で屋外で戦っている。劇画調で。

 

要点を思いっきり絞ったら、文章が短くなりました。

鬼をうまく表現できるかがここでのポイントです。「鬼」だけだと「Deamon」になり悪魔が出てきそうだったので、「日本の」を付けてみました。今回はなぜか劇画調がGekiga styleと翻訳されたのですが、これまでと同じdramatic styleに統一しました。

 

結果は・・・ 何も出力されず。

It looks like this request may not follow our content policy.
Further policy violations may lead to an automatic suspension of your account.

とのことです。暴力的なシーンなのでNGということですかね。

最後のシーンを出力できず尻切れトンボになるのは寂しいので、今回は刀での戦闘はあきらめて、彼らにはプロレスで戦ってもらうことにしました。

 

和服の少年、犬、サル、キジが日本の鬼たちと屋外でプロレスをしている。劇画調で。

 

鬼がいませんね~

1枚目と2枚目の左上にAIが苦心している跡が見られますが、やはり空想上の生き物である鬼の生成は難しいのでしょうか?なぜか空が赤くなっているのも興味深いです。

 

鬼を倒して、めでたしめでたし

ということで、無理やりまとめた感もありますが、桃太郎を題材にしたDALL-E2の作画の検証は終了です。いろいろ発見があって楽しかったです。みなさんも楽しんで頂けましたでしょうか?

 

ではまた。