<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AI・機械学習 アーカイブ - Sheltie Garage Tech</title>
	<atom:link href="https://sheltie-garage.xyz/tech/category/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92/feed/" rel="self" type="application/rss+xml" />
	<link>https://sheltie-garage.xyz/tech/category/機械学習/</link>
	<description>テクノロジー関連の話題をまとめたブログです</description>
	<lastBuildDate>Sun, 05 Apr 2026 12:11:19 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Gemma4をOllamaから利用してみる</title>
		<link>https://sheltie-garage.xyz/tech/2026/04/gemma4%e3%82%92ollama%e3%81%8b%e3%82%89%e5%88%a9%e7%94%a8%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/</link>
					<comments>https://sheltie-garage.xyz/tech/2026/04/gemma4%e3%82%92ollama%e3%81%8b%e3%82%89%e5%88%a9%e7%94%a8%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/#respond</comments>
		
		<dc:creator><![CDATA[monodon]]></dc:creator>
		<pubDate>Sun, 05 Apr 2026 12:11:17 +0000</pubDate>
				<category><![CDATA[AI・機械学習]]></category>
		<guid isPermaLink="false">https://sheltie-garage.xyz/tech/?p=1363</guid>

					<description><![CDATA[<p>といっても、正直記事にする必要が無いくらい簡単に利用できます・・・ まずはOllamaをインストール 公式ページからダウンロードしますhttps://ollama.com/ 表示されているコマンドをターミナルに貼り付けて [&#8230;]</p>
<p>投稿 <a href="https://sheltie-garage.xyz/tech/2026/04/gemma4%e3%82%92ollama%e3%81%8b%e3%82%89%e5%88%a9%e7%94%a8%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/">Gemma4をOllamaから利用してみる</a> は <a href="https://sheltie-garage.xyz/tech">Sheltie Garage Tech</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<p>といっても、正直記事にする必要が無いくらい簡単に利用できます・・・</p>



<h2 class="wp-block-heading">まずはOllamaをインストール</h2>



<p>公式ページからダウンロードします<br><a href="https://ollama.com/" target="_blank" rel="noreferrer noopener">https://ollama.com/</a></p>



<p>表示されているコマンドをターミナルに貼り付けて実行すればollamaがセットアップされます</p>



<h2 class="wp-block-heading">Gemma4をインストールする</h2>



<p>Gemma4について、Gemma4自身に聞いてみたら以下の回答が返ってきました</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>君自身について紹介してほしい
Gemma4は誰が作成して、いつ公開されたのか・・</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>ご質問ありがとうございます。私自身についてご紹介させていただきますね。&#x2728;

私は**Gemma 4（ジェマ フォー）**という名前の大規模言語モデル（Large Language Model: LLM）です。

&#x1f916; 基本情報
モデル名: Gemma 4
開発元: Google DeepMind（グーグル・ディープマインド）
モデルの性質: 私は「オープンウェイト」モデルとして設計され、研究者や開発者の皆様がより幅広く、責任を持ってAIの技術を活用していただくことを目的として公開されています。
&#x2699; 私の仕組みと得意なこと
私は、膨大な量のテキストデータやコードデータを用いてトレーニングされた結果、人間が使う自然な言葉のパターン、論理的な推論、そしてプログラミングの構造を理解することができます。

具体的には、以下のようなことが可能です。

知識の提供: 幅広いトピックについて、正確で包括的な情報を提供します。
対話: 人間との会話の流れを理解し、自然な会話を続けることができます。
論理的推論: 指示された手順に従って思考し、問題を分解して解決策を導き出すことができます。
コーディング: プログラミングのコード生成、レビュー、デバッグ、最適化を行うことができます。（これはさきほどのプログラミングのお手伝いに活かせる部分です）
&#x1f4c5; 公開について
「いつ公開されたか」という点については、継続的に改良が加えられている最先端の技術基盤の上に成り立っています。私はGoogle DeepMindによって継続的に研究・開発され、その最新の成果として、オープンな形で開発者コミュニティの皆様に提供されています。

要約すると、私はGoogle DeepMindが生み出した、オープンな知性を搭載したAIアシスタントです。

私について何かご不明な点や、試してみたいことはありますか？何でもお気軽にお尋ねください！</code></pre></div>



<p>回答内に（これはさきほどのプログラミングのお手伝いに活かせる部分です）とありますが<br>これは事前に「プログラミングできる？」と質問していたからです</p>



<p>本題のGemma4のセットアップですが、ollama導入後にプロンプトに以下を入力するだけです</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>ollama run gemma4:[利用したいモデルの種類]</code></pre></div>



<p>後は自動でモデルのダウンロードが行われ、ダウンロードが終了すればターミナルからでも、GUI画面からでも利用できるようになります</p>



<h2 class="wp-block-heading">早速使ってみる</h2>



<p>今回はollamaのGUIから少し使ってみました<br>まずは挨拶から</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="518" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2026/04/スクリーンショット-2026-04-05-20.41.57-1024x518.png" alt="" class="wp-image-1364" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2026/04/スクリーンショット-2026-04-05-20.41.57-1024x518.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2026/04/スクリーンショット-2026-04-05-20.41.57-300x152.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2026/04/スクリーンショット-2026-04-05-20.41.57-768x388.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2026/04/スクリーンショット-2026-04-05-20.41.57-1536x776.png 1536w, https://sheltie-garage.xyz/tech/wp-content/uploads/2026/04/スクリーンショット-2026-04-05-20.41.57.png 1662w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>無事に実行できました！<br>ちなみに自分が利用しているPCの環境は<br>・MacBookPro 2019年モデル<br>・CPU Intel 2.6GHz<br>・メモリ 16GB<br>ということで、正直AIで遊びにはかなり厳しい環境です・・・</p>



<p>ということで今回はエッジデバイス向けの「gemma4:e4b」を使ってます</p>



<p>モデルの種類が何種類かありますが<br>・gemma4:e2b、e4b→エッジデバイス向け<br>・gemma4:26b 31b→ワークステーション向け<br>ということで、当然ながらワークステーション向けのほうがベンチマークは良い結果が出力されています</p>



<p>お金があれば、26bや31bのモデルも動かしてみたいものです・・・</p>



<h2 class="wp-block-heading">色々応用ができそうなGemma4</h2>



<p>ということでGemma4のすごく簡単な紹介でした！<br>個人のPCでも動作可能で、しかも商用利用も可能という、夢が広がるモデルです！</p>



<p>個人的には、ChatGPTやClaude が利用制限に引っかかってしまったときの代替モデルとして利用できないかなーと考えたりしています<br>が、PCスペックが貧弱だから厳しいかなぁ・・・</p>



<p></p>
<p>投稿 <a href="https://sheltie-garage.xyz/tech/2026/04/gemma4%e3%82%92ollama%e3%81%8b%e3%82%89%e5%88%a9%e7%94%a8%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/">Gemma4をOllamaから利用してみる</a> は <a href="https://sheltie-garage.xyz/tech">Sheltie Garage Tech</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sheltie-garage.xyz/tech/2026/04/gemma4%e3%82%92ollama%e3%81%8b%e3%82%89%e5%88%a9%e7%94%a8%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ローカル動画生成ツール「FramePack」をRTX2080で試す</title>
		<link>https://sheltie-garage.xyz/tech/2025/05/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e5%8b%95%e7%94%bb%e7%94%9f%e6%88%90%e3%83%84%e3%83%bc%e3%83%ab%e3%80%8cframepack%e3%80%8d%e3%82%92rtx2080%e3%81%a7%e8%a9%a6%e3%81%99/</link>
					<comments>https://sheltie-garage.xyz/tech/2025/05/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e5%8b%95%e7%94%bb%e7%94%9f%e6%88%90%e3%83%84%e3%83%bc%e3%83%ab%e3%80%8cframepack%e3%80%8d%e3%82%92rtx2080%e3%81%a7%e8%a9%a6%e3%81%99/#respond</comments>
		
		<dc:creator><![CDATA[monodon]]></dc:creator>
		<pubDate>Tue, 06 May 2025 12:15:42 +0000</pubDate>
				<category><![CDATA[AI・機械学習]]></category>
		<guid isPermaLink="false">https://sheltie-garage.xyz/tech/?p=1180</guid>

					<description><![CDATA[<p>昨今話題のローカル動画生成環境「FramePack」ですが、ターゲットとしている環境がRTX30XXシリーズからでした・・・ 自分が利用しているPCはRTX2080のため、本家版は動作せず、RTX20XXシリーズでも動作 [&#8230;]</p>
<p>投稿 <a href="https://sheltie-garage.xyz/tech/2025/05/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e5%8b%95%e7%94%bb%e7%94%9f%e6%88%90%e3%83%84%e3%83%bc%e3%83%ab%e3%80%8cframepack%e3%80%8d%e3%82%92rtx2080%e3%81%a7%e8%a9%a6%e3%81%99/">ローカル動画生成ツール「FramePack」をRTX2080で試す</a> は <a href="https://sheltie-garage.xyz/tech">Sheltie Garage Tech</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<p>昨今話題のローカル動画生成環境「FramePack」ですが、ターゲットとしている環境がRTX30XXシリーズからでした・・・</p>



<p>自分が利用しているPCはRTX2080のため、<a href="https://github.com/lllyasviel/FramePack" target="_blank" rel="noreferrer noopener">本家版</a>は動作せず、RTX20XXシリーズでも動作するよう改良された<a href="https://github.com/freely-boss/FramePack-nv20" target="_blank" rel="noreferrer noopener">フォーク版</a>を利用することにしました</p>



<h2 class="wp-block-heading">RTX20XXシリーズでも動作するフォーク版の環境を構築する</h2>



<p>導入環境は以下になります<br>・OSはWindows11<br>・グラボRTX2080<br>・メモリ24GB</p>



<h3 class="wp-block-heading">Anacondaで環境作成</h3>



<p>Anacondaを利用してPython 3.10の環境を作成します<br>Anaconda Navigatorを利用して作成すると簡単です</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="842" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2025/05/20250506_001-1-1024x842.png" alt="" class="wp-image-1181" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2025/05/20250506_001-1-1024x842.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2025/05/20250506_001-1-300x247.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2025/05/20250506_001-1-768x632.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2025/05/20250506_001-1.png 1086w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>環境構築後は環境名横の「再生ボタン」をクリックすれば環境が有効化されたプロンプトが開きます</p>



<h3 class="wp-block-heading">Git Cloneと必須コンポーネントのインストール</h3>



<p>まずは以下を実行</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126</code></pre></div>



<p>プロンプト上でプログラムを保存したいディレクトリに移動したのち、以下を実行</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>git clone https://github.com/freely-boss/FramePack-nv20.git</code></pre></div>



<p>FramePack-nv20というディレクトリができているはずなので、この中に移動し、以下を実行</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>pip install -r requirements.txt</code></pre></div>



<p>自動で必要なコンポーネントがインストールされるので、インストール完了後、以下を実行<br>初回起動時に必要なモデルがダウンロードされるため、起動までそこそこ時間がかかります</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>python demo_gradio.py</code></pre></div>



<p>以上で完了<br>プロンプトに以下の表示が出たら、ブラウザから「http://localhost:7860」にアクセスします</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>* Running on local URL:  http://0.0.0.0:7860

To create a public link, set `share=True` in `launch()`.</code></pre></div>



<p>ブラウザにアクセスすると、以下のような画面が表示されます</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="510" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2025/05/20250506_002-1-1024x510.png" alt="" class="wp-image-1182" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2025/05/20250506_002-1-1024x510.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2025/05/20250506_002-1-300x150.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2025/05/20250506_002-1-768x383.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2025/05/20250506_002-1-1536x765.png 1536w, https://sheltie-garage.xyz/tech/wp-content/uploads/2025/05/20250506_002-1.png 1824w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">動くは動くが、かなり厳しい</h2>



<p>以上で環境構築自体は終了ですが、実際に動かすとかなり動作が厳しかったです<br>具体的には、24GBのメモリはすべて利用され、仮想メモリが利用されるため動作が遅い<br>デフォルト設定では5秒の動画を作成するのに、35分 * 25ステップで16時間ほどかかる計算となってしまいました</p>



<p>また、本家版ではf1というより効率的に動画を作成するための改良がくわえられたバージョンが発表されていますが、フォーク版は対応なし</p>



<p>現実問題、アニメ生成AIで遊ぼうと思ったら、RTX30XXシリーズ以上のグラフィックボードを準備するのが現実的だと感じました</p>



<p>自分みたいに、お金に余裕がなくRTX30XXシリーズが準備できないっ、けど動かしいてみたいっていう人以外は、正直おすすめできない感じです</p>



<p>自分もお金貯めて、グラフィックボードを新調したいと思いました。RTX20XXシリーズも、気が付けば発売から6年くらいたっていますしね・・・</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="688" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2025/05/20250506_003-1-1024x688.png" alt="" class="wp-image-1183" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2025/05/20250506_003-1-1024x688.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2025/05/20250506_003-1-300x202.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2025/05/20250506_003-1-768x516.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2025/05/20250506_003-1.png 1049w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>生成を開始したところ、メモリ上限に即ぶち当たり、限界を迎えた我がパソコン・・・</p>


<div id="rinkerid1184" class="yyi-rinker-contents   yyi-rinker-postid-1184 yyi-rinker-no-item">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image"></div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
								玄人志向　［GeForce RTXシリーズ /12GB］　GK-RTX5070-E12GB/WHITE/DF							</div>

			<div class="yyi-rinker-detail">
											</div>
						<ul class="yyi-rinker-links">
																	<li class="amazonlink">
						<a href="https://www.amazon.co.jp/gp/search?ie=UTF8&amp;keywords=RTX50&amp;tag=monodon-22&amp;index=blended&amp;linkCode=ure&amp;creative=6339" rel="nofollow" class="yyi-rinker-link">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2FRTX50%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link">楽天市場</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
													<li class="yahoolink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502&amp;url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3DRTX50" rel="nofollow" class="yyi-rinker-link">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502" width="1" height="1" style="border:none;">					</li>
				                											</ul>
					</div>
	</div>
	</div>

<div id="rinkerid1185" class="yyi-rinker-contents   yyi-rinker-postid-1185 yyi-rinker-no-item">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image"></div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
								【ポイント5倍★5/3〜5/8】G TUNE DG-I7G7S(ホワイトカラーモデル) ゲーミングPC デスクトップ パソコン Core i7 14700F 32GB メモリ GeForce RTX 4070 SUPER 空冷CPUクーラー マウスコンピューター mouse PC 新品							</div>

			<div class="yyi-rinker-detail">
											</div>
						<ul class="yyi-rinker-links">
																	<li class="amazonlink">
						<a href="https://www.amazon.co.jp/gp/search?ie=UTF8&amp;keywords=%E3%82%B2%E3%83%BC%E3%83%9F%E3%83%B3%E3%82%B0&amp;tag=monodon-22&amp;index=blended&amp;linkCode=ure&amp;creative=6339" rel="nofollow" class="yyi-rinker-link">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E3%2582%25B2%25E3%2583%25BC%25E3%2583%259F%25E3%2583%25B3%25E3%2582%25B0%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link">楽天市場</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
													<li class="yahoolink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502&amp;url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3D%25E3%2582%25B2%25E3%2583%25BC%25E3%2583%259F%25E3%2583%25B3%25E3%2582%25B0" rel="nofollow" class="yyi-rinker-link">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502" width="1" height="1" style="border:none;">					</li>
				                											</ul>
					</div>
	</div>
	</div><p>投稿 <a href="https://sheltie-garage.xyz/tech/2025/05/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e5%8b%95%e7%94%bb%e7%94%9f%e6%88%90%e3%83%84%e3%83%bc%e3%83%ab%e3%80%8cframepack%e3%80%8d%e3%82%92rtx2080%e3%81%a7%e8%a9%a6%e3%81%99/">ローカル動画生成ツール「FramePack」をRTX2080で試す</a> は <a href="https://sheltie-garage.xyz/tech">Sheltie Garage Tech</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sheltie-garage.xyz/tech/2025/05/%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e5%8b%95%e7%94%bb%e7%94%9f%e6%88%90%e3%83%84%e3%83%bc%e3%83%ab%e3%80%8cframepack%e3%80%8d%e3%82%92rtx2080%e3%81%a7%e8%a9%a6%e3%81%99/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>3D Gaussian Splatting で作成したファイルをWebブラウザで閲覧してみる</title>
		<link>https://sheltie-garage.xyz/tech/2024/05/3d-gaussian-splatting-%e3%81%a7%e4%bd%9c%e6%88%90%e3%81%97%e3%81%9f%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92web%e3%83%96%e3%83%a9%e3%82%a6%e3%82%b6%e3%81%a7%e9%96%b2%e8%a6%a7%e3%81%97%e3%81%a6/</link>
					<comments>https://sheltie-garage.xyz/tech/2024/05/3d-gaussian-splatting-%e3%81%a7%e4%bd%9c%e6%88%90%e3%81%97%e3%81%9f%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92web%e3%83%96%e3%83%a9%e3%82%a6%e3%82%b6%e3%81%a7%e9%96%b2%e8%a6%a7%e3%81%97%e3%81%a6/#respond</comments>
		
		<dc:creator><![CDATA[monodon]]></dc:creator>
		<pubDate>Thu, 30 May 2024 02:22:03 +0000</pubDate>
				<category><![CDATA[AI・機械学習]]></category>
		<guid isPermaLink="false">https://sheltie-garage.xyz/tech/?p=1040</guid>

					<description><![CDATA[<p>本来は別の記事を書く予定でした 複数枚の写真から高品質な3Dシーンを生成する手法の一つである3D Gaussian Splattingについて、ファイルサイズを少なくする方法があるようなので試してみようとしたのが本気の目 [&#8230;]</p>
<p>投稿 <a href="https://sheltie-garage.xyz/tech/2024/05/3d-gaussian-splatting-%e3%81%a7%e4%bd%9c%e6%88%90%e3%81%97%e3%81%9f%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92web%e3%83%96%e3%83%a9%e3%82%a6%e3%82%b6%e3%81%a7%e9%96%b2%e8%a6%a7%e3%81%97%e3%81%a6/">3D Gaussian Splatting で作成したファイルをWebブラウザで閲覧してみる</a> は <a href="https://sheltie-garage.xyz/tech">Sheltie Garage Tech</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">本来は別の記事を書く予定でした</h2>



<p>複数枚の写真から高品質な3Dシーンを生成する手法の一つである3D Gaussian Splattingについて、ファイルサイズを少なくする方法があるようなので試してみようとしたのが本気の目的となります<br>元ネタは以下になります</p>



<p><a href="https://github.com/KeKsBoTer/c3dgs" target="_blank" rel="noreferrer noopener">https://github.com/KeKsBoTer/c3dgs</a></p>



<p class="has-vivid-red-color has-text-color has-link-color wp-elements-aaa2275c1af254813dfcfeb8ad3819ea"><strong>・・・が、最終的に環境構築が出来ずに実施できませんでした</strong></p>



<p>なので、内容を変更して3D Gaussian Splattingの生成環境のおさらいと、Webブラウザで動作するビューワーを紹介しています</p>



<p class="has-vivid-red-color has-text-color has-link-color wp-elements-97bc162128f7e1bf35df51371c297949">この記事の最後のほうに実施した内容を記載していますので参考にしてください<br>本エントリでは3D Gaussian Splattingの環境設定、データ作成と、WebGLを利用したビューアの実験まで行っています</p>



<p><a href="https://sheltie-garage.xyz/tech/2023/10/3d-gaussian-splatting%e3%81%a7%e6%89%8b%e6%8c%81%e3%81%a1%e3%81%ae%e3%83%95%e3%82%a3%e3%82%ae%e3%83%a5%e3%82%a2%e3%82%923d%e5%8c%96%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/">Gaussian Splatting</a>については、過去に一度記事にしていますので参考にしてみてください</p>



<p>今回の環境は以下になります<br>・Windows11<br>・GeForceRTX 2080 VRAM 8G<br>・Memory 24GB<br>・CPU Core-i7 9700K</p>



<h2 class="wp-block-heading">環境構築</h2>



<p>Anacondaを利用して環境を構築します</p>



<p>まずはオリジナルの<a href="https://github.com/graphdeco-inria/gaussian-splatting" target="_blank" rel="noreferrer noopener">Gaussian Splatting</a>の環境構築を参考にし、環境をセットアップします<br>自分は以下の手順で作成しました</p>



<p>今回はF:/Project/MachineLerning/ フォルダに移動し、リポジトリをクローンしました</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive</code></pre></div>



<p>gaussian-splattingフォルダが出来るため、このフォルダに移動し、以下のコマンドで環境を作成</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>SET DISTUTILS_USE_SDK=1 # Windows only
conda env create --file environment.yml
conda activate gaussian_splatting</code></pre></div>



<p>ここまでの手順で、gaussian_splattingを利用するための環境がとのいました<br>上記の3番目のコマンドを実行すると、環境が切り替わったことが確認できると思います</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="814" height="238" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_001-1.png" alt="" class="wp-image-1041" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_001-1.png 814w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_001-1-300x88.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_001-1-768x225.png 768w" sizes="auto, (max-width: 814px) 100vw, 814px" /></figure>



<h2 class="wp-block-heading">トレーニングデータを作成するための環境構築</h2>



<p>トレーニングに利用する画像を作成するための環境を構築します<br>今回は動画を作成し、その動画から数秒置きに静止画を生成することでトレーニングに利用する大量の静止画を作成します</p>



<p>環境構築の方法は以下の記事を参考にしました<br><a href="https://taziku.co.jp/blog/3d-gaussian-splatting-traning" target="_blank" rel="noreferrer noopener">https://taziku.co.jp/blog/3d-gaussian-splatting-traning</a></p>



<h3 class="wp-block-heading">FFmpegの設定</h3>



<p>公式ページからダウンロードします<br><a href="https://ffmpeg.org/" target="_blank" rel="noreferrer noopener">https://ffmpeg.org/</a></p>



<p>今回は以下のリンクからWindowsバイナリをダウンロードしました</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="487" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_002-1024x487.png" alt="" class="wp-image-1042" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_002-1024x487.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_002-300x143.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_002-768x365.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_002-1536x730.png 1536w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_002.png 1866w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="543" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_003-1024x543.png" alt="" class="wp-image-1043" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_003-1024x543.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_003-300x159.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_003-768x407.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_003-1536x815.png 1536w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_003.png 1548w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">FFmpegにパスを通す</h2>



<p>パスを通します<br>今回は「F:\Project\MachineLerning\tools\ffmpeg-7.0.1-essentials_build\bin」にツールを展開しました<br>システム環境変数の編集から上記フォルダへのパス設定を追加します</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="870" height="342" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_004.png" alt="" class="wp-image-1047" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_004.png 870w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_004-300x118.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_004-768x302.png 768w" sizes="auto, (max-width: 870px) 100vw, 870px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="513" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_005-1024x513.png" alt="" class="wp-image-1045" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_005-1024x513.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_005-300x150.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_005-768x384.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_005-1536x769.png 1536w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_005.png 1600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>パス設定後、コマンドプロンプトから以下のコマンドを実行するとバージョン情報が表示されます</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>ffmpeg -version</code></pre></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="344" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_006-1024x344.png" alt="" class="wp-image-1048" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_006-1024x344.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_006-300x101.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_006-768x258.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_006.png 1094w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">COLMAPの設定</h3>



<p>画像からカメラの位置を推測するためのツールを設定します<br>公式ページからダウンロードします<br><a href="https://demuc.de/colmap/" target="_blank" rel="noreferrer noopener">https://demuc.de/colmap/</a></p>



<p>リンクをたどっていくと<a href="https://github.com/colmap/colmap/releases" target="_blank" rel="noreferrer noopener">GitHubのリリースページ</a>にたどり着くので、そこからCUDA対応版をリリースしました</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="581" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_007-1024x581.png" alt="" class="wp-image-1050" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_007-1024x581.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_007-300x170.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_007-768x436.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_007.png 1525w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>FFmpegと同じく、環境変数にパスを通します</p>



<h3 class="wp-block-heading">ImageMagicの設定</h3>



<p>公式ページからダウンロードします<br><a href="https://imagemagick.org/index.php" target="_blank" rel="noreferrer noopener">https://imagemagick.org/index.php</a></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="544" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_008-1024x544.png" alt="" class="wp-image-1052" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_008-1024x544.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_008-300x159.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_008-768x408.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_008.png 1491w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>インストーラーが付属しているため、画面の指示に従って作業すれば設定が完了します</p>



<h2 class="wp-block-heading">トレーニングの準備</h2>



<p>GoProを利用してフィギュアの動画を撮影しました<br>この動画をもとに3Dのシーンを構築してみます</p>



<p>今回は環境設定で準備したgaussian-splattingフォルダ内にtrain_dataフォルダを作成し、その中に撮影した動画を置きました<br>さらに、inputフォルダも作成しました</p>



<p>コマンドプロンプトを開き、動画を設置したディレクトリに移動後、以下のコマンドを実行します<br>(動画ファイル名は適宜変更してください)</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>ffmpeg -i GH010376.MP4 -r 20 input/image_%05d.jpg</code></pre></div>



<p>今回、動画が1分と短いため、20fpsで書き出し1200枚ほどを学習データとして使用するようにしました<br>(余談ですがGoProで1080の60fpsで撮影しないとFFmpegでうまく処理できませんでした)</p>



<h2 class="wp-block-heading">COLMAPを利用した歪み補正データの作成</h2>



<p>Anacondaで作成したgaussian_splattingの環境でrクローンしたリポジトリフォルダに移動し、以下のコマンドを実行します<br>COLMAP.batの設置場所と、先ほどinputフォルダを準備したフォルダ(inputフォルダではない!)をフルパスで指定します</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>python convert.py --colmap_executable &quot;F:\Project\MachineLerning\tools\COLMAP-3.9.1-windows-cuda\COLMAP.bat&quot; -s F:\Project\MachineLerning\gaussian-splatting\train_data</code></pre></div>



<h2 class="wp-block-heading">トレーニングの実施</h2>



<p>トレーニングを開始します<br>同じくリポジトリフォルダのまま、以下のコマンドを実行します</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>python train.py --resolution 700 -s F:\Project\MachineLerning\gaussian-splatting\train_data</code></pre></div>



<p>この時のGPU使用状態は以下のようになっていました<br>試したところ、専用GPUメモリだけで処理しないと学習時間が非常に伸びてしまうため、&#8211;resolutionオプションでVRAM内に収まるように調整したほうがよさそうです<br>(学習中にVRAM使用量が徐々に増えていくため、ある程度余裕を持たせたほうが良い)</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1053" height="698" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_009-2.png" alt="" class="wp-image-1060" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_009-2.png 1053w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_009-2-300x199.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_009-2-1024x679.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240529_009-2-768x509.png 768w" sizes="auto, (max-width: 1053px) 100vw, 1053px" /></figure>



<p>終了しました</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="378" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_013-1024x378.png" alt="" class="wp-image-1061" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_013-1024x378.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_013-300x111.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_013-768x283.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_013.png 1090w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>トレーニングが終了すると、\gaussian-splatting\output\ee9de029-cのようなランダムなフォルダが生成されているはずです</p>



<h2 class="wp-block-heading">WebGLを利用したビューアーを試してみる</h2>



<p>今回はこちらを利用してみました<br><a href="https://github.com/antimatter15/splat" target="_blank" rel="noreferrer noopener">https://github.com/antimatter15/splat</a></p>



<p>まずはリポジトリをクローンします</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>git clone https://github.com/antimatter15/splat.git</code></pre></div>



<p>クローンしたフォルダ内の「index.html」を開きます<br>(デフォルトで電車のシーンが表示されます)</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="733" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_001-1024x733.png" alt="" class="wp-image-1064" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_001-1024x733.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_001-300x215.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_001-768x550.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_001.png 1438w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>今回のビューアは.splat形式のファイルを表示するため、.ply形式から変換する必要があります<br>が、変換方法は簡単で、ブラウザ上に.plyをドラッグアンドドロップすれば.splatに変換できます</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="505" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_002-1024x505.png" alt="" class="wp-image-1065" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_002-1024x505.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_002-300x148.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_002-768x379.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_002.png 1340w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>ブラウザにシーンが表示されると同時に、.splatファイルのダウンロードが始まります<br>ほか、urlパラメータにsplatファイルを指定すれば、そのシーンを表示することもできます</p>



<p>ほか、splatファイルに変換した時点で、かなり容量が削減されました</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="642" height="103" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_004.png" alt="" class="wp-image-1066" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_004.png 642w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_004-300x48.png 300w" sizes="auto, (max-width: 642px) 100vw, 642px" /></figure>



<p>ここで気になるのは「サイズ容量が減ったことで、品質が劣化していないのか」ということ<br>今回は公式ページで用意されているプリビルドバイナリを利用しました<br><a href="https://github.com/graphdeco-inria/gaussian-splatting#pre-built-windows-binaries" target="_blank" rel="noreferrer noopener">https://github.com/graphdeco-inria/gaussian-splatting#pre-built-windows-binaries</a></p>



<p>それぞれの比較は以下の通り</p>



<p>↓公式のビューア</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="610" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_005-1024x610.png" alt="" class="wp-image-1068" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_005-1024x610.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_005-300x179.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_005-768x458.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_005-1536x915.png 1536w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_005.png 1730w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>↓Webビューア</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="539" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_006-1024x539.png" alt="" class="wp-image-1069" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_006-1024x539.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_006-300x158.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_006-768x404.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_006-1536x808.png 1536w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_006.png 1730w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>元データが悪いので何ともですが、気持ち公式ビューアのほうが綺麗かな？と感じる程度でした</p>



<p>ちなみに「<a href="https://playcanvas.com/viewer" target="_blank" rel="noreferrer noopener">polycanvas</a>」というサイトでplyファイルが閲覧できました<br>これなら、plyファイルだけ配布して、上記のページで閲覧を楽しんでもらうこともできますね!</p>



<h2 class="wp-block-heading">以上</h2>



<p>ということで、今回は3D Gaussian Splattingの環境設定とWebビューアの紹介を行いました<br>映像から3Dシーンを構築できるのはやっぱり楽しいですね！<br>これを利用すればバイクツーリング先の風景や、バイクを乗り換えるときに思い出を3Dシーンとして残すことも出来そうです<br>コスプレイヤーさんとかも3D Gaussian Splattingで撮影してみたいですね!</p>



<p>とりあえず、つよつよGPUが欲しくなりました</p>



<h2 class="wp-block-heading">Compressed 3D Gaussian Splatting for Accelerated Novel View Synthesisを試す・・・はずが、環境構築できず</h2>



<p>手順はGirHubのReadMeを参考にします<br><a href="https://github.com/KeKsBoTer/c3dgs" target="_blank" rel="noreferrer noopener">https://github.com/KeKsBoTer/c3dgs</a></p>



<p>まずはリポジトリをクローンします</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>git clone https://github.com/KeKsBoTer/c3dgs.git</code></pre></div>



<p>F:/Project/MachineLerning/c3dgs となるようにクローンしました</p>



<p>こちらについてはCUDA12系が必要だったため、アップデートを行いました<br>(マシンにはCUDA11系がインストールされていたため)</p>



<p>ここでちょっとしたトラブル発生<br>CUDA12系インストールでエラーが発生しました</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="570" height="346" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_014.png" alt="" class="wp-image-1062" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_014.png 570w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_014-300x182.png 300w" sizes="auto, (max-width: 570px) 100vw, 570px" /></figure>



<p><a href="https://forums.developer.nvidia.com/t/cuda-v12-3-installer-failed-at-nsight-compute/271741/3" target="_blank" rel="noreferrer noopener">nVidiaフォーラム</a>によると、NsightComputeについて、すでに同一 or より新しいバージョンがあるとインストールに失敗するとのこと<br>その場合はカスタムインストールを選択し、NsightComputeのチェックを外すといいらしいです<br>・・・が、自分の環境ではそれでもだめだったので、最終的にCUDA12.2をインストールしました</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="575" height="398" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_015.png" alt="" class="wp-image-1063" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_015.png 575w, https://sheltie-garage.xyz/tech/wp-content/uploads/2024/05/20240530_015-300x208.png 300w" sizes="auto, (max-width: 575px) 100vw, 575px" /></figure>



<p>あらためてAnacondaで環境を構築します<br>コマンドプロンプトでリポジトリフォルダに移動した後、以下のコマンドを実行します</p>



<p>この後、以下のコマンドを利用して環境構築を行いましたが、様々なエラーで環境構築に失敗しました</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>conda env create --file environment.yml</code></pre></div>



<p>エラーの詳細はメモしていませんが、おおむね以下の内容です<br>・pytourchのバージョンが異なる(CUDA12を要求されているのに、pytourchは11.6が指定される)<br>・warning C4067: プリプロセッサ デ・・・　みたいなエラーでインストールが中断</p>



<p>心折れたので、また数か月後 or 数年後にチャレンジします<br>環境構築で手間取るのはだめだわ・・・</p>


<div id="rinkerid1070" class="yyi-rinker-contents   yyi-rinker-postid-1070 yyi-rinker-no-item">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image"></div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
								PNY Technologies｜ピーエヌワイテクノロジー グラフィックボード GeForce RTX 4090 24GB VERTO LED 3FAN VCG409024TFXPB1 [GeForce RTXシリーズ /24GB]							</div>

			<div class="yyi-rinker-detail">
											</div>
						<ul class="yyi-rinker-links">
																	<li class="amazonlink">
						<a href="https://www.amazon.co.jp/gp/search?ie=UTF8&amp;keywords=GeForce+24GB&amp;tag=monodon-22&amp;index=blended&amp;linkCode=ure&amp;creative=6339" rel="nofollow" class="yyi-rinker-link">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2FGeForce%2B24GB%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link">楽天市場</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
													<li class="yahoolink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502&amp;url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3DGeForce%2B24GB" rel="nofollow" class="yyi-rinker-link">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502" width="1" height="1" style="border:none;">					</li>
				                											</ul>
					</div>
	</div>
	</div>

<div id="rinkerid1071" class="yyi-rinker-contents   yyi-rinker-postid-1071 yyi-rinker-no-item">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image"></div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
								MSI｜エムエスアイ グラフィックボード GeForce RTX 4070 VENTUS 2X E 12G OC [GeForce RTXシリーズ /24GB]							</div>

			<div class="yyi-rinker-detail">
											</div>
						<ul class="yyi-rinker-links">
																	<li class="amazonlink">
						<a href="https://www.amazon.co.jp/gp/search?ie=UTF8&amp;keywords=GeForce+24GB&amp;tag=monodon-22&amp;index=blended&amp;linkCode=ure&amp;creative=6339" rel="nofollow" class="yyi-rinker-link">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2FGeForce%2B24GB%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link">楽天市場</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
													<li class="yahoolink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502&amp;url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3DGeForce%2B24GB" rel="nofollow" class="yyi-rinker-link">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502" width="1" height="1" style="border:none;">					</li>
				                											</ul>
					</div>
	</div>
	</div><p>投稿 <a href="https://sheltie-garage.xyz/tech/2024/05/3d-gaussian-splatting-%e3%81%a7%e4%bd%9c%e6%88%90%e3%81%97%e3%81%9f%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92web%e3%83%96%e3%83%a9%e3%82%a6%e3%82%b6%e3%81%a7%e9%96%b2%e8%a6%a7%e3%81%97%e3%81%a6/">3D Gaussian Splatting で作成したファイルをWebブラウザで閲覧してみる</a> は <a href="https://sheltie-garage.xyz/tech">Sheltie Garage Tech</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sheltie-garage.xyz/tech/2024/05/3d-gaussian-splatting-%e3%81%a7%e4%bd%9c%e6%88%90%e3%81%97%e3%81%9f%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92web%e3%83%96%e3%83%a9%e3%82%a6%e3%82%b6%e3%81%a7%e9%96%b2%e8%a6%a7%e3%81%97%e3%81%a6/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>3D Gaussian Splattingで手持ちのフィギュアを3D化してみる</title>
		<link>https://sheltie-garage.xyz/tech/2023/10/3d-gaussian-splatting%e3%81%a7%e6%89%8b%e6%8c%81%e3%81%a1%e3%81%ae%e3%83%95%e3%82%a3%e3%82%ae%e3%83%a5%e3%82%a2%e3%82%923d%e5%8c%96%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/</link>
					<comments>https://sheltie-garage.xyz/tech/2023/10/3d-gaussian-splatting%e3%81%a7%e6%89%8b%e6%8c%81%e3%81%a1%e3%81%ae%e3%83%95%e3%82%a3%e3%82%ae%e3%83%a5%e3%82%a2%e3%82%923d%e5%8c%96%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/#respond</comments>
		
		<dc:creator><![CDATA[monodon]]></dc:creator>
		<pubDate>Sun, 29 Oct 2023 12:48:02 +0000</pubDate>
				<category><![CDATA[AI・機械学習]]></category>
		<guid isPermaLink="false">https://sheltie-garage.xyz/tech/?p=902</guid>

					<description><![CDATA[<p>3D Gaussian Splattingという技術に興味があったので試しに使ってみました。開発環境の構築方法や実施方法は他の方のブログに詳しく書いてあったため、このブログでは自分の具体的な実施内容を紹介したいと思います [&#8230;]</p>
<p>投稿 <a href="https://sheltie-garage.xyz/tech/2023/10/3d-gaussian-splatting%e3%81%a7%e6%89%8b%e6%8c%81%e3%81%a1%e3%81%ae%e3%83%95%e3%82%a3%e3%82%ae%e3%83%a5%e3%82%a2%e3%82%923d%e5%8c%96%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/">3D Gaussian Splattingで手持ちのフィギュアを3D化してみる</a> は <a href="https://sheltie-garage.xyz/tech">Sheltie Garage Tech</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<p>3D Gaussian Splattingという技術に興味があったので試しに使ってみました。<br>開発環境の構築方法や実施方法は他の方のブログに詳しく書いてあったため、このブログでは自分の具体的な実施内容を紹介したいと思います。</p>



<p>マシンスペックは以下になります。<br>・Windows11<br>・GPU GeForceRTX 2080 VRAM 8GB<br>・CPU Core-i7 9700K<br>・メモリ 24GB</p>



<h2 class="wp-block-heading">環境構築からビューワー起動まで</h2>



<p>環境構築からテストデータ作成、トレーニング実行までは以下のブログが参考になりました。<br><a href="https://taziku.co.jp/blog/3d-gaussian-splatting">3D Gaussian SplattingのWindows環境構築手順を解説 | taziku / AI × クリエイティブ | 東京・名古屋</a><br><a href="https://taziku.co.jp/blog/3d-gaussian-splatting-traning">3D Gaussian Splatting 動画から3Dのシーン生成を解説 | taziku / AI × クリエイティブ | 東京・名古屋</a><br><a href="https://taziku.co.jp/blog/3d-gaussian-splatting-v">3D Gaussian Splattingでトレーニングしたデータをビューワーで表示する | taziku / AI × クリエイティブ | 東京・名古屋</a></p>



<p>自分が実施するときも、上記のブログを参考に実行させていただきました。<br>そのうえで、今回自分が行った内容を紹介いたします。</p>



<h2 class="wp-block-heading">手持ちのフィギュアをGoProで撮影する</h2>



<p>今回は手持ちのフィギュアの一つであるホロライブ所属の「白上フブキ」さんのフィギュアを利用しました。<br>GoProで全身をくまなく撮影し、データ作成画像を用意します。<br>FFMPEGを利用して動画から静止画を切り出して、1800枚ほどの画像を用意しました。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="982" height="592" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2023/10/20231029_001.png" alt="" class="wp-image-903" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2023/10/20231029_001.png 982w, https://sheltie-garage.xyz/tech/wp-content/uploads/2023/10/20231029_001-300x181.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2023/10/20231029_001-768x463.png 768w" sizes="auto, (max-width: 982px) 100vw, 982px" /></figure>



<h2 class="wp-block-heading">トレーニング用データの準備</h2>



<p>画像の準備ができたらトレーニングを行います。<br>こちらもブログの手順通りのコマンドを実行すれば大丈夫です。<br>参考までに自分が実行したコマンドは以下の通りです(cdコマンドでgaussian-splattingのフォルダに移動した後に実行します)</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-lang="Bash"><code>python convert.py --colmap_executable &quot;F:\Project\MachineLerning\tools\COLMAP-3.8-windows-cuda\COLMAP.bat&quot; -s F:\Project\MachineLerning\gaussian-splatting\TrainingData</code></pre></div>



<p>この処理にかなり時間がかかり、合計7-8時間ほどかかってしまったかと思います。<br>幸い、処理途中でチェックポイントが保存されているようで、処理済みの部分は再開時にスキップされます。</p>



<h2 class="wp-block-heading">トレーニングを実施</h2>



<p>上記の処理が終了したらトレーニングを実施します。<br>必要スペックでVRAM 24GB以上が要求されているため、自分のマシンではメモリ不足でそのままコマンドを実行したら動きませんでした。</p>



<p>具体的には以下のコマンドでトレーニングを行い、クオリティを犠牲にしています。<br>(gaussian-splattingのtrain.pyが配置されているディレクトリに移動した後に実施します。TrainDataは上記のトレーニング用データの準備で使用したディレクトリです)</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>python train.py --densify_grad_threshold 0.01 --resolution 800 -s ..\TrainingData\</code></pre></div>



<p>上記の設定でVRAM使用料は10GBとなっていました(専用GPUメモリ8GB、共有GPUメモリ2GB使用)<br>トレーニングにかかった時間は6時間ほどとなりました。</p>



<h2 class="wp-block-heading">ビューワーで表示する</h2>



<p>ビューワーは別途ダウンロードが必要ですが、最初に紹介したブログにダウンロード場所が記載してあります。<br>以下のコマンドでビューワーを起動しました。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>C:\Users\ユーザー名\Desktop\viewers\bin\SIBR_gaussianViewer_app.exe -m .\output\4701ec31-3\</code></pre></div>



<p>トレーニングが終了するとoutputフォルダの中にランダムな英数字のフォルダが数個作成されます。<br>指定するフォルダは「point_cloud」フォルダを含んでいるフォルダを指定します。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="576" height="265" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2023/10/20231029_002.png" alt="" class="wp-image-904" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2023/10/20231029_002.png 576w, https://sheltie-garage.xyz/tech/wp-content/uploads/2023/10/20231029_002-300x138.png 300w" sizes="auto, (max-width: 576px) 100vw, 576px" /></figure>



<p>実際のビューワー動作時の画像はXに載せていますのでご興味あればご覧ください。</p>



<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
<div class="oceanwp-oembed-wrap clr"><blockquote class="twitter-tweet" data-width="550" data-dnt="true"><p lang="ja" dir="ltr">gaussian splattingを手持ちのフブさんモデルで試してみました。<br>GoProで全体の動画撮影を行い、1800枚ほどを学習データとして使用しています。<br>&#8211;densify_grad_threshold 0.01 &#8211;resolution 800のオプションを指定して8GBのVRAMマシンでも動作しました。 <a href="https://t.co/BmCktAscbH">pic.twitter.com/BmCktAscbH</a></p>&mdash; シェル (@sheltiefusafusa) <a href="https://twitter.com/sheltiefusafusa/status/1718407776903602589?ref_src=twsrc%5Etfw">October 28, 2023</a></blockquote><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></div>
</div></figure>



<h2 class="wp-block-heading">以上</h2>



<p>簡単ですが3D Gaussian Splattingについて利用してみた紹介でした。<br>要求スペックが高かったため、一度はあきらめていましたが、パラメータ調整で何とかなりました。<br>再現度は高いですが、品質の良いデータを準備するのが少し大変そうですね。(GoProだと接近しすぎたり、カメラを早く動かしてしまうことで画像がぶれてしまったため)</p>



<p>あとは、このモデルをポリゴンメッシュで出力できるような機能があればいうこと無しです。<br>スキャンしたモデルをゲームと組み合わせて使ってみたいですね！</p>


<div id="rinkerid905" class="yyi-rinker-contents  yyi-rinker-postid-905 yyi-rinker-img-m yyi-rinker-catid-12 ">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image">
							<a href="https://www.amazon.co.jp/dp/B08ZL6XD9H?tag=monodon-22&#038;linkCode=ogi&#038;th=1&#038;psc=1" rel="nofollow"><img decoding="async" src="https://m.media-amazon.com/images/I/41H8JVBOvzL._SL160_.jpg" width="160" height="110" class="yyi-rinker-main-img" style="border: none;" loading="lazy"></a>					</div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
									<a href="https://www.amazon.co.jp/dp/B08ZL6XD9H?tag=monodon-22&#038;linkCode=ogi&#038;th=1&#038;psc=1" rel="nofollow">ZOTAC(ゾタック) Gaming GeForce RTX 3090 トリニティ OC 24GB GDDR6X 384-bit 19.5 Gbps PCle規格 4.0 ゲーミンググラフィックスカード IceStorm 2.0高性能冷却機構 Spectra 2.0 RGBライティング ZT-A30900J-10P</a>							</div>
			<div class="yyi-rinker-detail">
							<div class="credit-box">created by&nbsp;<a href="https://oyakosodate.com/rinker/" rel="nofollow noopener" target="_blank" >Rinker</a></div>
										<div class="brand">ZOTAC</div>
							<div class="price-box">
							</div>
						</div>
						<ul class="yyi-rinker-links">
																                    <li class="amazonlink">
						<a href="https://www.amazon.co.jp/gp/search?ie=UTF8&amp;keywords=GeForce+24GB&amp;tag=monodon-22&amp;index=blended&amp;linkCode=ure&amp;creative=6339" rel="nofollow" class="yyi-rinker-link">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2FGeForce%2B24GB%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link">楽天市場</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
													<li class="yahoolink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502&amp;url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3DGeForce%2B24GB" rel="nofollow" class="yyi-rinker-link">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502" width="1" height="1" style="border:none;">					</li>
				                											</ul>
					</div>
	</div>
</div>


<div id="rinkerid906" class="yyi-rinker-contents  yyi-rinker-postid-906 yyi-rinker-img-m yyi-rinker-catid-12 ">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image">
							<a href="https://www.amazon.co.jp/dp/B0C5D31DP1?tag=monodon-22&#038;linkCode=ogi&#038;th=1&#038;psc=1" rel="nofollow"><img decoding="async" src="https://m.media-amazon.com/images/I/41NO1qlmGPL._SL160_.jpg" width="82" height="160" class="yyi-rinker-main-img" style="border: none;" loading="lazy"></a>					</div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
									<a href="https://www.amazon.co.jp/dp/B0C5D31DP1?tag=monodon-22&#038;linkCode=ogi&#038;th=1&#038;psc=1" rel="nofollow">トイテックd.T.C(Toytec Digital Technology Center) ねんどろいど ホロライブプロダクション 白上フブキ ノンスケール プラスチック製 塗装済み可動フィギュア 再販分</a>							</div>
			<div class="yyi-rinker-detail">
							<div class="credit-box">created by&nbsp;<a href="https://oyakosodate.com/rinker/" rel="nofollow noopener" target="_blank" >Rinker</a></div>
										<div class="brand">トイテックd.T.C(Toytec Digital Technology Center)</div>
							<div class="price-box">
							</div>
						</div>
						<ul class="yyi-rinker-links">
																                    <li class="amazonlink">
						<a href="https://www.amazon.co.jp/gp/search?ie=UTF8&amp;keywords=%E7%99%BD%E4%B8%8A%E3%83%95%E3%83%96%E3%82%AD&amp;tag=monodon-22&amp;index=blended&amp;linkCode=ure&amp;creative=6339" rel="nofollow" class="yyi-rinker-link">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E7%2599%25BD%25E4%25B8%258A%25E3%2583%2595%25E3%2583%2596%25E3%2582%25AD%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link">楽天市場</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
													<li class="yahoolink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502&amp;url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3D%25E7%2599%25BD%25E4%25B8%258A%25E3%2583%2595%25E3%2583%2596%25E3%2582%25AD" rel="nofollow" class="yyi-rinker-link">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502" width="1" height="1" style="border:none;">					</li>
				                											</ul>
					</div>
	</div>
</div>
<p>投稿 <a href="https://sheltie-garage.xyz/tech/2023/10/3d-gaussian-splatting%e3%81%a7%e6%89%8b%e6%8c%81%e3%81%a1%e3%81%ae%e3%83%95%e3%82%a3%e3%82%ae%e3%83%a5%e3%82%a2%e3%82%923d%e5%8c%96%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/">3D Gaussian Splattingで手持ちのフィギュアを3D化してみる</a> は <a href="https://sheltie-garage.xyz/tech">Sheltie Garage Tech</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sheltie-garage.xyz/tech/2023/10/3d-gaussian-splatting%e3%81%a7%e6%89%8b%e6%8c%81%e3%81%a1%e3%81%ae%e3%83%95%e3%82%a3%e3%82%ae%e3%83%a5%e3%82%a2%e3%82%923d%e5%8c%96%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Koemake RVC playerを使ってみる</title>
		<link>https://sheltie-garage.xyz/tech/2023/09/koemake-rvc-player%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/</link>
		
		<dc:creator><![CDATA[monodon]]></dc:creator>
		<pubDate>Sun, 24 Sep 2023 02:38:45 +0000</pubDate>
				<category><![CDATA[AI・機械学習]]></category>
		<guid isPermaLink="false">https://sheltie-garage.xyz/tech/?p=871</guid>

					<description><![CDATA[<p>無料 &#38; リアルタイム温泉変換ソフト「Retrieval-based-Voice-Conversion」と、利用するためのプレイヤー「Koemake RVC player」を使ってみます。それぞれのソフトのURL [&#8230;]</p>
<p>投稿 <a href="https://sheltie-garage.xyz/tech/2023/09/koemake-rvc-player%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/">Koemake RVC playerを使ってみる</a> は <a href="https://sheltie-garage.xyz/tech">Sheltie Garage Tech</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<p>無料 &amp; リアルタイム温泉変換ソフト「<a href="https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/tree/main" target="_blank" rel="noreferrer noopener">Retrieval-based-Voice-Conversion</a>」と、利用するためのプレイヤー「<a href="https://koemake.com/" target="_blank" rel="noreferrer noopener">Koemake RVC player</a>」を使ってみます。それぞれのソフトのURLは以下になります。</p>



<h2 class="wp-block-heading"><strong>Koemake Project</strong>からソフトをダウンロード</h2>



<p>ソフトの利用にはアカウント登録が必要です。<br>まずは公式ページにアクセスし、以下の順序でダウンロードを行います。</p>



<p>公式ページのダウンロードをクリック</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="475" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_001-1024x475.png" alt="" class="wp-image-872" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_001-1024x475.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_001-300x139.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_001-768x356.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_001-1536x713.png 1536w, https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_001.png 1858w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>利用規約に同意してダウンロードをクリック</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="511" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_002-1024x511.png" alt="" class="wp-image-873" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_002-1024x511.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_002-300x150.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_002-768x383.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_002-1536x766.png 1536w, https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_002.png 1869w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>ログインを求められるのでメールアドレスとパスワードを入力してアカウント作成をクリック<br>アカウント作成後、再度ダウンロードをクリックすると、ファイルのダウンロードページに遷移できます</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="587" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_003-1024x587.png" alt="" class="wp-image-874" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_003-1024x587.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_003-300x172.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_003-768x440.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_003.png 1137w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>ダウンロードをクリックし、ファイルをダウンロードします</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="820" height="422" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_004.png" alt="" class="wp-image-875" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_004.png 820w, https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_004-300x154.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_004-768x395.png 768w" sizes="auto, (max-width: 820px) 100vw, 820px" /></figure>



<h2 class="wp-block-heading">実際に使ってみる</h2>



<p>ダウンロードしたフォルダ内のkoemake.exeをクリックすると、以下のような画面が表示されます</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="600" height="448" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_005.png" alt="" class="wp-image-876" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_005.png 600w, https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_005-300x224.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></figure>



<p>パラメータはそれぞれ<br>・Noize Gate : 一定音量以上の場合のみ変換開始。ノイズがひどい場合に数値を上げてみる<br>・Index Rate : どれだけターゲットの声にフィットさせるか<br>・Key : 変換後の声の高さ。目安として男性→女性の場合+12、女性→男性の場合、-12、同性の場合は0が推奨されるとのこと<br>・Vol : 変換後の出力</p>



<p>ちなみに、変換開始といったようなボタンはなく、アプリを起動したらボイスチェンジャーも有効になります。</p>



<h2 class="wp-block-heading">モデルを追加してみる</h2>



<p>「RVC モデル」といったキーワードで検索を行うと、RVCで利用できるモデルを見つけることができます。<br>今回はBOOTHで無料配布されていた「<a href="https://booth.pm/ja/items/4701666" target="_blank" rel="noreferrer noopener">愛想良い系少女の声　5種風味パック</a>」を利用してみます。</p>



<p>このzipファイルを展開すると5種類のモデルファイルが同梱されているため、各ファイル(.pthファイル)毎にフォルダを作成し、分ける必要があります。<br>モデルファイルはkoemakeディレクトリ内にあるmodelsファイル内として、以下のようなフォルダ構成にしてみました。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="705" height="352" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_006.png" alt="" class="wp-image-877" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_006.png 705w, https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_006-300x150.png 300w" sizes="auto, (max-width: 705px) 100vw, 705px" /></figure>



<p>あとはSettingタブ内にあるModel Directoryでモデルファイルを置いたフォルダを指定することで、今回追加したモデルが読み込めるようになります。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="593" height="148" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_007.png" alt="" class="wp-image-878" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_007.png 593w, https://sheltie-garage.xyz/tech/wp-content/uploads/2023/09/20230924_007-300x75.png 300w" sizes="auto, (max-width: 593px) 100vw, 593px" /></figure>



<p>あとはmodelのドロップダウンから利用したいモデルを選択し、LOADボタンを押します。<br>モデルロード後にパラメータがリセットされるので注意！</p>



<h2 class="wp-block-heading">以上です</h2>



<p>今回はリアルタイムボイスチェンジャーであるRVCと、そのクライアントであるkoemakeを紹介しました。<br>機械学習の恩恵を受けて、簡単にいろいろな声が出せるのはすごいと思いました。<br>ただ、さすがに声優さんレベルの声は出せないので、そのあたりは今後の発展次第かなと感じます。</p>



<p>もともとバイク動画のアナウンス役に利用しようと思いましたが、自分自身活舌が悪く、ずんだもんにアナウンスをしてもらったほうが聞き取りやすかったので、もうしばらくずんだもんに頼ろうかなと思いました。</p>


<div id="rinkerid879" class="yyi-rinker-contents  yyi-rinker-postid-879 yyi-rinker-img-m yyi-rinker-catid-12 ">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image">
							<a href="https://af.moshimo.com/af/c/click?a_id=3394378&#038;p_id=54&#038;pc_id=54&#038;pl_id=616&#038;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E3%2583%259E%25E3%2582%25A4%25E3%2582%25AF%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/felicitations/cabinet/microphone/imgrc0103202896.jpg?_ex=128x128" width="128" height="128" class="yyi-rinker-main-img" style="border: none;" loading="lazy"></a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
									<a href="https://af.moshimo.com/af/c/click?a_id=3394378&#038;p_id=54&#038;pc_id=54&#038;pl_id=616&#038;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E3%2583%259E%25E3%2582%25A4%25E3%2582%25AF%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow">[楽天1位] マイク1 マイク PC マイク USB コンデンサーマイク PC コンデンサーマイク USB 配信用マイク 配信 ゲーム実況 配信セット マイクセット テレワーク ZOOM スタンド パソコン マイクスタンド Windows Mac 対応</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">							</div>
			<div class="yyi-rinker-detail">
							<div class="credit-box">created by&nbsp;<a href="https://oyakosodate.com/rinker/" rel="nofollow noopener" target="_blank" >Rinker</a></div>
										<div class="price-box">
							<span title="" class="price">¥6,780</span>
															<span class="price_at">(2026/04/08 01:54:27時点&nbsp;楽天市場調べ-</span><span title="このサイトで掲載されている情報は当サイトの作成者により運営されています。価格、販売可能情報は、変更される場合があります。購入時に楽天市場店舗（www.rakuten.co.jp）に表示されている価格がその商品の販売に適用されます。">詳細)</span>
																	</div>
						</div>
						<ul class="yyi-rinker-links">
																                    <li class="amazonlink">
						<a href="https://www.amazon.co.jp/gp/search?ie=UTF8&amp;keywords=%E3%83%9E%E3%82%A4%E3%82%AF&amp;tag=monodon-22&amp;index=blended&amp;linkCode=ure&amp;creative=6339" rel="nofollow" class="yyi-rinker-link">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E3%2583%259E%25E3%2582%25A4%25E3%2582%25AF%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link">楽天市場</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
													<li class="yahoolink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502&amp;url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3D%25E3%2583%259E%25E3%2582%25A4%25E3%2582%25AF" rel="nofollow" class="yyi-rinker-link">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502" width="1" height="1" style="border:none;">					</li>
				                											</ul>
					</div>
	</div>
</div>


<div id="rinkerid880" class="yyi-rinker-contents   yyi-rinker-postid-880 yyi-rinker-no-item">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image"></div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
								ボイスチェンジャー 4種類音声変更 変声器 男声 女声 子供の声 魔獣声 電子音 12段階音調調整　通話　声　変換							</div>

			<div class="yyi-rinker-detail">
											</div>
						<ul class="yyi-rinker-links">
																	<li class="amazonlink">
						<a href="https://www.amazon.co.jp/gp/search?ie=UTF8&amp;keywords=%E3%83%9C%E3%82%A4%E3%82%B9%E3%83%81%E3%82%A7%E3%83%B3%E3%82%B8&amp;tag=monodon-22&amp;index=blended&amp;linkCode=ure&amp;creative=6339" rel="nofollow" class="yyi-rinker-link">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E3%2583%259C%25E3%2582%25A4%25E3%2582%25B9%25E3%2583%2581%25E3%2582%25A7%25E3%2583%25B3%25E3%2582%25B8%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link">楽天市場</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
													<li class="yahoolink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502&amp;url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3D%25E3%2583%259C%25E3%2582%25A4%25E3%2582%25B9%25E3%2583%2581%25E3%2582%25A7%25E3%2583%25B3%25E3%2582%25B8" rel="nofollow" class="yyi-rinker-link">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502" width="1" height="1" style="border:none;">					</li>
				                											</ul>
					</div>
	</div>
	</div><p>投稿 <a href="https://sheltie-garage.xyz/tech/2023/09/koemake-rvc-player%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/">Koemake RVC playerを使ってみる</a> は <a href="https://sheltie-garage.xyz/tech">Sheltie Garage Tech</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>文字起こしAI「Whisper」をバイクブログで利用してみた</title>
		<link>https://sheltie-garage.xyz/tech/2022/09/%e6%96%87%e5%ad%97%e8%b5%b7%e3%81%93%e3%81%97ai%e3%80%8cwhisper%e3%80%8d%e3%82%92%e3%83%90%e3%82%a4%e3%82%af%e3%83%96%e3%83%ad%e3%82%b0%e3%81%a7%e5%88%a9%e7%94%a8%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/</link>
					<comments>https://sheltie-garage.xyz/tech/2022/09/%e6%96%87%e5%ad%97%e8%b5%b7%e3%81%93%e3%81%97ai%e3%80%8cwhisper%e3%80%8d%e3%82%92%e3%83%90%e3%82%a4%e3%82%af%e3%83%96%e3%83%ad%e3%82%b0%e3%81%a7%e5%88%a9%e7%94%a8%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/#respond</comments>
		
		<dc:creator><![CDATA[monodon]]></dc:creator>
		<pubDate>Mon, 26 Sep 2022 22:17:28 +0000</pubDate>
				<category><![CDATA[AI・機械学習]]></category>
		<guid isPermaLink="false">https://sheltie-garage.xyz/tech/?p=389</guid>

					<description><![CDATA[<p>巷で話題になっているWhisperを利用してみました環境は以下のようになります ・Intel Mac 2019 Monterey 12.6 導入 公式ページ(GitHub)の手順で導入してみますhttps://githu [&#8230;]</p>
<p>投稿 <a href="https://sheltie-garage.xyz/tech/2022/09/%e6%96%87%e5%ad%97%e8%b5%b7%e3%81%93%e3%81%97ai%e3%80%8cwhisper%e3%80%8d%e3%82%92%e3%83%90%e3%82%a4%e3%82%af%e3%83%96%e3%83%ad%e3%82%b0%e3%81%a7%e5%88%a9%e7%94%a8%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/">文字起こしAI「Whisper」をバイクブログで利用してみた</a> は <a href="https://sheltie-garage.xyz/tech">Sheltie Garage Tech</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<p>巷で話題になっているWhisperを利用してみました<br>環境は以下のようになります</p>



<p>・Intel Mac 2019 Monterey 12.6</p>



<h2 class="wp-block-heading">導入</h2>



<p>公式ページ(GitHub)の手順で導入してみます<br><a href="https://github.com/openai/whisper" target="_blank" rel="noreferrer noopener">https://github.com/openai/whisper</a></p>



<p>Anacondaを利用してPython 3.10 の環境を作りました</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>conda create -n whisper python=3.10</code></pre></div>



<p>環境作成後、以下のコマンドで環境を有効化します</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>conda activate whisper</code></pre></div>



<p>公式ページのコマンドでインストールを行います</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>pip install git+https://github.com/openai/whisper.git</code></pre></div>



<p>ffmpegも必要とのことなので、brewでインストールします</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>brew install ffmpeg</code></pre></div>



<p>環境構築は以上になります</p>



<h2 class="wp-block-heading">早速使ってみる</h2>



<p>Whisperを試してみたいがためだけにモトブログを撮ってきました</p>



<p>QuickTImeから音声のみ出力してm4aファイルを出力しました<br>以下のコマンドで文字起こしが開始されます</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>whisper audio.m4a --language Japanese</code></pre></div>



<p>結果はyoutubeでどうぞ</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<p class="responsive-video-wrap clr"><iframe loading="lazy" title="文字起こしAI「Whisper」がモトブログで利用できるか実験してきました" width="1200" height="675" src="https://www.youtube.com/embed/0t9NoB2wkt8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
</div></figure>



<p>実際の解析結果は以下のようになります</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="534" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220927_001-1024x534.png" alt="" class="wp-image-390" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220927_001-1024x534.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220927_001-300x156.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220927_001-768x400.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220927_001-1536x800.png 1536w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220927_001-2048x1067.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>一部拾われていなかったセリフはあったにせよ、かなり高精度に認識している印象です<br>何より喋っている時間帯も表示されるので、単純に「ここ動画で使う！」みたいなキーワードを喋っておけば、それを目印に動画編集すれば良いので、編集作業も楽になりそうですね。</p>



<p>もちろん、ビジネスのシーンでは会議や記者会見の文字起こしなどにも利用できそうな気がします。</p>



<h2 class="wp-block-heading">以上</h2>



<p>Whisperがモトブログに利用できるのかという実験を行ったというお話でした。<br>かなりの高精度で、いろいろな用途に利用できるのではないでしょうか？<br>一部拾われないセリフや、漢字の変換間違いはあれど、1からセリフを文字に起こしていく場合と比較して、かなり編集作業が楽になりそうです</p>



<p>イラスト生成AIといい、文字起こしAIといい、最近は機械学習の進歩が著しいですね<br>便利な技術はどんどん取り入れていって、創作活動を楽しんで行きたいと思います。</p>


<div id="rinkerid391" class="yyi-rinker-contents  yyi-rinker-postid-391 yyi-rinker-img-m yyi-rinker-catid-12 ">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image">
							<a href="https://af.moshimo.com/af/c/click?a_id=3394378&#038;p_id=54&#038;pc_id=54&#038;pl_id=616&#038;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E6%2596%2587%25E5%25AD%2597%25E8%25B5%25B7%25E3%2581%2593%25E3%2581%2597%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/3462/9784990493462.jpg?_ex=128x128" width="128" height="128" class="yyi-rinker-main-img" style="border: none;" loading="lazy"></a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
									<a href="https://af.moshimo.com/af/c/click?a_id=3394378&#038;p_id=54&#038;pc_id=54&#038;pl_id=616&#038;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E6%2596%2587%25E5%25AD%2597%25E8%25B5%25B7%25E3%2581%2593%25E3%2581%2597%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow">文字起こし＆テープ起こし即戦力ドリル 国語好きを活かして在宅ワーク・副業を始める [ 廿里美 ]</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">							</div>
			<div class="yyi-rinker-detail">
							<div class="credit-box">created by&nbsp;<a href="https://oyakosodate.com/rinker/" rel="nofollow noopener" target="_blank" >Rinker</a></div>
										<div class="price-box">
							<span title="" class="price">¥1,870</span>
															<span class="price_at">(2026/04/08 01:54:27時点&nbsp;楽天市場調べ-</span><span title="このサイトで掲載されている情報は当サイトの作成者により運営されています。価格、販売可能情報は、変更される場合があります。購入時に楽天市場店舗（www.rakuten.co.jp）に表示されている価格がその商品の販売に適用されます。">詳細)</span>
																	</div>
						</div>
						<ul class="yyi-rinker-links">
																                    <li class="amazonlink">
						<a href="https://www.amazon.co.jp/gp/search?ie=UTF8&amp;keywords=%E6%96%87%E5%AD%97%E8%B5%B7%E3%81%93%E3%81%97&amp;tag=monodon-22&amp;index=blended&amp;linkCode=ure&amp;creative=6339" rel="nofollow" class="yyi-rinker-link">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E6%2596%2587%25E5%25AD%2597%25E8%25B5%25B7%25E3%2581%2593%25E3%2581%2597%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link">楽天市場</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
													<li class="yahoolink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502&amp;url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3D%25E6%2596%2587%25E5%25AD%2597%25E8%25B5%25B7%25E3%2581%2593%25E3%2581%2597" rel="nofollow" class="yyi-rinker-link">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502" width="1" height="1" style="border:none;">					</li>
				                											</ul>
					</div>
	</div>
</div>


<div id="rinkerid392" class="yyi-rinker-contents  yyi-rinker-postid-392 yyi-rinker-img-m yyi-rinker-catid-12 ">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image">
							<a href="https://af.moshimo.com/af/c/click?a_id=3394378&#038;p_id=54&#038;pc_id=54&#038;pl_id=616&#038;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E6%25A9%259F%25E6%25A2%25B0%25E5%25AD%25A6%25E7%25BF%2592%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9948/9784295009948.jpg?_ex=128x128" width="128" height="128" class="yyi-rinker-main-img" style="border: none;" loading="lazy"></a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
									<a href="https://af.moshimo.com/af/c/click?a_id=3394378&#038;p_id=54&#038;pc_id=54&#038;pl_id=616&#038;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E6%25A9%259F%25E6%25A2%25B0%25E5%25AD%25A6%25E7%25BF%2592%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow">スッキリわかるPythonによる機械学習入門 [ フレアリンク ]</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">							</div>
			<div class="yyi-rinker-detail">
							<div class="credit-box">created by&nbsp;<a href="https://oyakosodate.com/rinker/" rel="nofollow noopener" target="_blank" >Rinker</a></div>
										<div class="price-box">
							</div>
						</div>
						<ul class="yyi-rinker-links">
																                    <li class="amazonlink">
						<a href="https://www.amazon.co.jp/gp/search?ie=UTF8&amp;keywords=%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92&amp;tag=monodon-22&amp;index=blended&amp;linkCode=ure&amp;creative=6339" rel="nofollow" class="yyi-rinker-link">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E6%25A9%259F%25E6%25A2%25B0%25E5%25AD%25A6%25E7%25BF%2592%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link">楽天市場</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
													<li class="yahoolink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502&amp;url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3D%25E6%25A9%259F%25E6%25A2%25B0%25E5%25AD%25A6%25E7%25BF%2592" rel="nofollow" class="yyi-rinker-link">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502" width="1" height="1" style="border:none;">					</li>
				                											</ul>
					</div>
	</div>
</div>
<p>投稿 <a href="https://sheltie-garage.xyz/tech/2022/09/%e6%96%87%e5%ad%97%e8%b5%b7%e3%81%93%e3%81%97ai%e3%80%8cwhisper%e3%80%8d%e3%82%92%e3%83%90%e3%82%a4%e3%82%af%e3%83%96%e3%83%ad%e3%82%b0%e3%81%a7%e5%88%a9%e7%94%a8%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/">文字起こしAI「Whisper」をバイクブログで利用してみた</a> は <a href="https://sheltie-garage.xyz/tech">Sheltie Garage Tech</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sheltie-garage.xyz/tech/2022/09/%e6%96%87%e5%ad%97%e8%b5%b7%e3%81%93%e3%81%97ai%e3%80%8cwhisper%e3%80%8d%e3%82%92%e3%83%90%e3%82%a4%e3%82%af%e3%83%96%e3%83%ad%e3%82%b0%e3%81%a7%e5%88%a9%e7%94%a8%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Real-ESRGANでStable Diffusionの画像をアップスケーリングする</title>
		<link>https://sheltie-garage.xyz/tech/2022/09/real-esrgan%e3%81%a7stable-diffusion%e3%81%ae%e7%94%bb%e5%83%8f%e3%82%92%e3%82%a2%e3%83%83%e3%83%97%e3%82%b9%e3%82%b1%e3%83%bc%e3%83%aa%e3%83%b3%e3%82%b0%e3%81%99%e3%82%8b/</link>
					<comments>https://sheltie-garage.xyz/tech/2022/09/real-esrgan%e3%81%a7stable-diffusion%e3%81%ae%e7%94%bb%e5%83%8f%e3%82%92%e3%82%a2%e3%83%83%e3%83%97%e3%82%b9%e3%82%b1%e3%83%bc%e3%83%aa%e3%83%b3%e3%82%b0%e3%81%99%e3%82%8b/#respond</comments>
		
		<dc:creator><![CDATA[monodon]]></dc:creator>
		<pubDate>Mon, 12 Sep 2022 14:18:33 +0000</pubDate>
				<category><![CDATA[AI・機械学習]]></category>
		<guid isPermaLink="false">https://sheltie-garage.xyz/tech/?p=296</guid>

					<description><![CDATA[<p>ハイクオリティな画像を生成できるStable Diffusionですが、現在の弱点の一つとして大きな画像が生成できないというのが挙げられるかと思います。（環境によると思いますが・・・） 今回はこの弱点を克服すべく、「Re [&#8230;]</p>
<p>投稿 <a href="https://sheltie-garage.xyz/tech/2022/09/real-esrgan%e3%81%a7stable-diffusion%e3%81%ae%e7%94%bb%e5%83%8f%e3%82%92%e3%82%a2%e3%83%83%e3%83%97%e3%82%b9%e3%82%b1%e3%83%bc%e3%83%aa%e3%83%b3%e3%82%b0%e3%81%99%e3%82%8b/">Real-ESRGANでStable Diffusionの画像をアップスケーリングする</a> は <a href="https://sheltie-garage.xyz/tech">Sheltie Garage Tech</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<p>ハイクオリティな画像を生成できるStable Diffusionですが、現在の弱点の一つとして大きな画像が生成できないというのが挙げられるかと思います。（環境によると思いますが・・・）</p>



<p>今回はこの弱点を克服すべく、「Real-ESRGAN」を利用してアップスケーリングしてみたいと思います</p>



<h2 class="wp-block-heading">Real-ESRGANとは</h2>



<p><a href="https://github.com/xinntao/Real-ESRGAN">https://github.com/xinntao/Real-ESRGAN</a></p>



<p>ざっくり見たところ、機械学習の力を利用してきれいに画像をアップスケールすることができるようです。紹介ページを見る限り、アニメも写真もきれいにアップスケーリングされていますね。</p>



<p>利用方法も複数準備されていて<br>・GUI版<br>・実行可能ファイル版<br>・Pythonスクリプト版<br>が準備されています。</p>



<p>一番お手軽なのはGUI版で、以下で配布されています<br><a href="https://github.com/tsukumijima/Real-ESRGAN-GUI" target="_blank" rel="noreferrer noopener">https://github.com/tsukumijima/Real-ESRGAN-GUI</a></p>



<p>自分の環境では、Macで実行時、警告が表示されて実行されなかったため、実行可能ファイル版で利用方法を紹介していきます</p>



<h2 class="wp-block-heading">Portable Execute版を取得する</h2>



<p><a href="https://github.com/xinntao/Real-ESRGAN#portable-executable-files-ncnn">https://github.com/xinntao/Real-ESRGAN#portable-executable-files-ncnn</a><br>こちらからダウンロードできます。<br>Windows版、　Mac版、Linux版が準備されているのでご自身の環境にあったファイルをダウンロードしてください。</p>



<p class="has-vivid-red-color has-text-color"><strong>Mac版で動かす場合、パーミッションの変更が必要でした</strong><img decoding="async" src="data:image/png;base64,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oOIuFAsTSYAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESKCyBKi4qyxvno0ESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAEQglQcReKhYkkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkUFkCVNxVljfPRgIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAKhBKi4C8XCRBIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARKoLAEq7irLm2cjARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIggVACVNyFYmEiCZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACVSWABV3leXNs5EACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZBAKAEq7kKxMJEESIAESIAESIAESIAESIAESIAESIAEqktg4cKF1a0Az16TBPhc1ORtYaVIgARIgARIIDUCVNylhpIFkQAJkAAJkAAJkAAJkAAJkAAJkAAJkEDDCTz22GOqe/fuqmnTpqpTp07qxRdfbHihLCH3BKZMmaL23HNP1bx5c7XOOuuoW265JffXxAsgARIgARIgARIoJNDEEylMZgoJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkEClCXz33Xeqbdu2atGiRfbUrVu3Vp9//rlq0qSJTeNK4yPQpUsXNWvWLHvhyyyzjPr000/VWmutZdO4QgIkQAIkQAIkkD8Cpp/XokUL3d9bLn+XwBqTQP0S+Omnn9Tf//539a9//UstWLBA/eY3v1GdO3dWyy+/fP1edM6urEOHDuqTTz7RtR43bpw68MADc3YF9VXdhx56SPXr109fFAYxPv74Y3601tctrsrVvPXWW2rSpEnqs88+03/ffvutWnbZZdWKK66oVlllFdW+fXt19dVXl1y3rMotuSI8gARKIIDB4+nTp6vvv/9et6/rr7++Wm211UooITzr3LlzdZ8Hv691111XrbfeegqD0pTGSeCLL75QM2bMUEuWLFFrr722fh5WXXXVxgkjg6vOgi++W6A8wG/5xx9/1PetY8eOCgMNDZUs6tvQOlX6+Pfee8+ntMP558+fr+bMmaN/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8jbccEOzqV20uB3RSinuyGHpLUiTg72pOVsxH8BhLiHR8f3tb3+rpk+frhD/Dm4mXBdQbuyloFI6Zxi0Sz7j3iRvdWd9SSCvBC699FIls9Ft9eESE+9lTIzBoM7zzz+vMHBu3F9iEO6SSy7Rro/sQc4K3qGnn366k6J0+yVWMzbt2GOPLXBdZHb++te/NquhS7hXcl1vIm7ONttso91sw502+gE33HCDgoIPgj4D4juNHj06tDyZ9a1jcwVdZf7lL3+xbr3BYscddww9Hok4b1CyKjd4Hm7ngwBczmbxfsuqXLFmtWDdfrdNjFhx87oxrdzsiGFmXDfCheERRxyhXfSGKWDgKs797ULpEpYP5buKO/ST4JYNrvngsvOdd97RbQH6UWjj8IfztmvXzq1a3a1ffPHFdkIG3JPFxRPMw8VjgpqryC2m6MP76qSTTrKXhucC7wMoDBDHEd+jeAbQxqOsYvGlbUF1upKUb9BdbdikQyDC9z3cn7rtgkEXprgz+5Iuk9Y3q3YyaT3LyQf3lG3atCk4FO3akCFDCtLLSbjgggvsROlNN91UhwpBHwxtKX5nr732mi0W/S78bvr372/TolauuOIK7boc+zEpdfvtt9ffrnhuxFuSb9wHfUyEOrn66qujiks9Pet+auoVlgKjngf3XGjbzJiCm550Pc37duONN2r3q+650U5gnA5jd/j949sDLlrF6jM03I17LNdJgARIgARIgAT+S0AUWBUXiWlnzedlFr1dh/tKCSTuiUWcr07SmfS+++47myYDAPaYoKsOmW1v98kl6vVTTjnFHosVuOow++AuoFpCDkvJN5RDte5fQ85r3L0dcMABBcXIbEX7fOI5vfXWWwvySOwInUc6wwX76imBrjLr6W7yWmqFgCi9bBsjlizavVFY3c444wybTwbOvU8//TQsW2iazLS3x6Idk8H60HzFEr/++mtPYl/YstD2iZVGwWEyIODJRAibT+LpFXXHFCzEPf7ss88O7i57O6tyy64QD6wJAlm938otV5Tv9veD36xYORXlJEoSTybU2eMkbnXkMW57gvI33nhj7SIb7sLx+4XLRFGsaXdq2I8/sRTz4NY3SuByy+QVxbuH85vtsCX6XjLQ6cGtbT2KKE08tNXm2vG95Apc1MEFHvqO+MP3VS2LTGTzXFesuK4333wztsoyGdReP/LL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52s30i+//LKtBSzZunbtarcrvQILywMPPNCeFgOOQ4cOtdvBlXHjxlmlHfZtttlmwSzcJgESIAESIAES+C8BKu74KJBADRBAhxW+7xGEe/LkyQoz1xYvXqxdvrVq1Ur7iUdsxlL89tfAZbEKJEACJEACJEACJEACJEACJEACJEACCQnAlSQUdUnknHPOUbCkq5bAeg4hPqZMmaKrcMopp2j3uSeccILPTerXX3+tLrnkEjVy5EhbVbj7POKII+w2V0iABEiABEiABPwEqLjz8+AWCVSVAHzY9u7du6p14MlJgARIgARIgARIgARIgARIgARIgARqkwBi/kHpddZZZ1W9goiv179/fx3TD5UZMWKE/mvXrp3CJGRY4WFisolDbSo8evRoHVfbbHNJAiRAAiRAAiTgJ0DFnZ8Ht0iABEiABEiABEiABEiABEiABEiABEiABEig4gT69u2r3WIuWrRILVmyRCvEVl55ZdWmTRvVtm1brewaOHCgat68ecXrFnbCfv366ZAfAwYM0Eo6k+eTTz5R+AsKlHnnnXeeGjRoUHAXt0mABEiABEiABBwCTWTWi+dsc5UESIAESIAESIAESIAESIAESIAESIAESIAECghMmDBBffnllzp98803V927dy/Iw4TaI5D1fZs3b54aO3asmjhxopo2bZpWOhoKrVu3Vh06dFA77LCDgjvNZs2amV1ckgAJkAAJkAAJ/JcArNSbNGmi4JEPSyru+GiQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAk0mADsA7766iv1448/KsSywx+FBEiABEiABEggnkBQcUdXmfG8uJcESIAESIAESIAESIAESIAESIAESIAESIAESCABAVgJtGzZMkFOZiEBEiABEiABEogisEzUDqaTAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAlUjgAVd5VjzTORAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQCQBKu4i0XAHCZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACVSOABV3lWPNM5EACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZBAJAEq7iLRcAcJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJ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fdCyZcs6vDJeEgmQAAmQAAkUElimMIkpJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEAClSZAxV2lifN8JEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJBBCgIq7EChMIgESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIIFKE6DirtLEeT4SIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESCCFAxV0IFCaRAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQKUJUHFXaeI8HwmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmEEKDiLgQKk0iABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEig0gSouKs0cZ6PBEiABEiABEiABEiABEiABEiABEiABEig6gQWLlxY9TqwAiRAAiRAAiRAAiQQJEDFXZAIt0mABEiABEiABEiABEiABEiABEiABEiABOqWwGOPPaa6d++umjZtqjp16qRefPHFur1WXhgJkAAJkAAJkED+CDTxRPJXbdaYBEiABEiABEiABEiABEiABEiABEiABEiABEoj8N1336m2bduqRYsW2QNbt26tPv/8c9WkSRObxhUSIAESIAESIAESqBQB0w9p0aKF7o8sV6kT8zwkQALFCfz000/q73//u/rXv/6lFixYoH7zm9+ozp07q+WXX774wcxBAiRAAiSQCoG33npLTZo0SX322Wf679tvv1XLLrusWnHFFdUqq6yi2rdvr66++uqSz5VVuSVXhAdUlQAGC6dPn66+//57tdZaa6n1119frbbaag2u0xdffKFmzJihlixZotZee2213nrrqVVXXbXB5bKAfBLg87D0vpFDdhzw3TJr1iw1d+5c9eOPP+p2p2PHjgoDDQ0V3reGEuTxxQi89957PqUd8s+fP1/NmTNHvz+LHc/9tUfgoYceUv369dMVg/L1448/1v2s2qspa0QCJEACJEACyQhQcZeME3ORQKYEPvzwQ3XhhReqiRMnqm+++cZ3rhVWWEEr77bffnudB648GoM899xz6oILLlCLFy/Wl9utWzd17bXXNoZL5zWSAAlUiQAGcY466ij1/PPPx9YA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1huyPGKUvvrqqwqxyRdccEE9n4Qit6jMwoyk+wwZEeNPqFatuIi/DGMy4ALDDrwv2jU1ikNav1Av5iWI6ywsAXoeXEShklafyQ8lr6m/qi3uPZ4BrI8gzrVQmWoD/SQlUD1tdgoO6Fvo8QFzM8x/3Zjl9WBa5TXdMj5UiQnrIgJEoPsQeO+99/T3MObVMBag4q777jF71GEICHWWtsLH5DMvvfTSS3rxMK8czxMBIkAEiAARIAJEgAgQASJABIgAEegUBLIW5julD5STCBCBMAhwfAiDK2slAkSgvRDwFXeNce20V98oDRHoSASOOOIITZMJ+gcJ1q0tz5M6As+UdrJ4SpKReUSACBABIkAEiAARIAJEgAgQASJABIhAdyPw4YcfqnPOOaeSTkpcbNWqkDaVdICVEAEiQASIABEIgAAVdwFAZZVEoCwCK6+8suYO//TTT5UEVVYSjFJTYIDyDVzu4KvHRLYqGoiy8rE8ESACRIAIEAEiQASIABEgAkSACBABIkAEgMCbb76pTj755ErAQIxbKu4qgZKVEAEiQASIQBchQMVdF91MdqXzEQCH7cCBAzu/I+wBESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJQGgEq7kpDxguIABEgAkSACBABIkAEiAARIAJEgAgQASJABIhAz0RgiSWWUCNGjKik8+uvv34l9bASIkAEiAARIALdhMBMQsUXdVOH2BciQASIABEgAkSACBABIkAEiAARIAJEgAgQgc5B4Prrr1cfffSRFvhnP/uZ6tOnT+cIT0mJABEIigDHh6DwsnIiQATaBIH33ntPzTTTTAqMfNhScdcmN4ZiEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAI9CwEfMXdzD2r++wtESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAEWhPBKi4a8/7QqmIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQAR6GAJU3PWwG87uEgEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAItCcCVNy1532hVESACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAj0MASruetgNZ3eJABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQATaEwEq7trzvlAqIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBCBHoYAFXc97Iazu0SACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAu2JABV37XlfKBURIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiEAPQ4CKux52w9ldIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBCB9kSAirv2vC+UiggQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEoIchQMVdD7vh7C4RIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiEB7IvDt9hSLUhGBnonAv//9b/XnP/9Z/f3vf1dffPGF+ulPf6qWXXZZ9Z3vfKdnAsJeEwEiQARagMAzzzyjxo8fr9555x3999lnn6lvfetbapZZZlGzzjqrWmyxxdTZZ59dWrJQ9ZYWpEUXfPjhh+rFF19U06dPV4sssohafPHF1fe///0WSdO6Zt9++239rsdz9aMf/UjjMP/887dOoIyWMS+ZOnWqgszffPONvm9LL720mnPOOTOuKnYqBA4h5S3WK5aqFwGOD/Uix+uIQPcgcNppp6ljjjkmt0NXX3212mGHHXLLsQARIAJEoNsQCDlOnnXWWWr48OEasgUXXFC99dZb3QYf+0MEOg4BKu467pZR4G5E4NVXX1UnnXSSuvPOO9Wnn34a62KvXr208m699dbTZWabbbbY+W49eOihh9SJJ56ovv76a93F3r17qwsuuKBbu8t+EQEi0AYIvPLKK2rvvfdWEydOzJRm4YUXLqW4C1VvppBtcvJvf/ubOvzwwxXG9Pfffz8mFRShAwcOVAcccIBad911Y+fKHkRRpHbffXf18ssv20vxXt1ggw3scdLO2LFj1cknn5x0qnDePPPMo8aNG5dZHu/5I488Uk2YMEF9+eWXNWVXXHFFtd9++6khQ4ao733vezXnTUaz5IXx0AknnKBGjx6tPvroI9O83mJestlmm+l3NIyLyqSqcPDbDCWv306nHT/77LP6uTJyH3rooWqbbbYxhy3fNmt8aHcc3BvRyPy3WeODK2+o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gDhLkydP1rFOxepdx7ZDXJ4lllgipqRomkAZDWExHUo8oZdRYgWtn32h/9LPMZ5loc3JuLo1pxDjRrzlNL74TWFcwKKfeNokLkAUkTIkDiHkLdInliECPRkBjL14/7qxbdsRD8x18L5AHC/IK5SZejzrlnh2ZTBHDNhXX31VYTzGewjzPixSl5mTue116vysahwMJs2aV5v2GtniGRDqWz0nxzzEVS4ceOCBOiYX6sfv5L333ivUVKc+D4U610aF8PxiPEOcb/Eu1vPJooYTbdSNHiOKsA7o+KK4Z1DSwUgWhqn1jrudChzHh069c5S7WQjgXQtjR3x3Y0vFXbOQZztEIAUBWLsdffTRavr06Skl/n82rHXwkclEBIgAESACRIAIEAEiQASIABEgAkSACBCBPASEeks98MADthjYMPI8d4RuXHt44SKhtlf33HOPvZ47RIAIEAEiQASIQPUI+Iq7b1ffBGskAkSgDAJHHHGEpsk88sgjlQQBT6WkgGdKu1uyluk3yxIBIkAEiAARIAJEgAgQASJABIgAESACYRGQ+J7KpfrDwuChhx6a2ujll19ulXYotPLKK6eW5QkiQASIABEgAkQgDAL0uAuDK2slAnUh8Omnn6rHH39cwSIOlAegfJt33nk1/zw4zfN4putqlBcRASJABIgAESACRIAIEAEiQASIABEgAl2LAMJxPPfcc7Z/Q4cOVfgDvbhJn3zyiTrllFN0nLR///vfOhsxenEdKFWZiAARIAJEgAgQgXAI+B53VNyFw5o1EwEiQASIABEgAkSACBABIkAEiAARIAJEgAgQgZYicOutt6oddthBx3h0BVl00UW1sTAWC2FAbOJFmzKjR49WQ4YMMYfcEgEiQASIABEgAoEQoOIuELCslggQASJABIgAESACRIAIEAEiQASIABEgAkSACLQjAhMnTlSDBg1SWBjMS2D+Of7449V+++2XV5TniQARIAJEgAgQgQoQoOKuAhBZBREgAkSACBABIkAEiAARIAJEgAgQASJABIgAEegkBN5//311ySWXqDvvvFNNmTJFTZ8+3Yo///zzq6WWWkqtv/766rDDDlNzzDGHPccdIkAEiAARIAJEICwCVNyFxZe1EwEiQASIABEgAkSACBABIkAEiAARIAJEgAgQgbZGALSYH3/8sfrmm28UYtnhj4kIEAEiQASIABFoDQK+4u7brRGDrRIBIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEi0AoEZpppJjXPPPO0omm2SQSIABEgAkSACOQgMHPOeZ4mAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSgCQhQcdcEkNkEESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAEchDgIq7PIR4nggQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAg0AQEq7poAMpsgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAnkIUHGXhxDPEwEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEIEmIEDFXRNAZhNEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEIA8BKu7yEOJ5IkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABItAEBKi4awLIbIIIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAI5CFAxV0eQjxPBIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABJqAABV3TQCZTRABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBCBPAS+nVeA54kAEWgeAv/+97/Vn//8Z/X3v/9dffHFF+qnP/2pWnbZZdV3vvOd5gnBlogAESACPRyBZ555Ro0fP1698847+u+zzz5T3/rWt9Qss8yiZp11VrXYYoups88+uzRKoeotLQgv6EoEPvzwQ/Xiiy+q6dOnq0UWWUQtvvji6vvf/37DfQ1Vb8OCpVTw9ttv67kUfrc/+tGPNA7zzz9/SmlmtwsCnfactQtuReX4/PPP1QsvvKC+/PJLtfDCC6slllhCzT777EUvZzkiQASIABEgAkEQuOuuu9Q222yj655pppnU66+/rt9TQRpjpUSACBCBDkOAirsOu2EUtzsRePXVV9VJJ52k7rzzTvXpp5/GOtmrVy+tvFtvvfV0mdlmmy12vlsPHnroIXXiiSeqr7/+Wnexd+/e6oILLujW7rJfRIAItAECr7zyitp7773VxIkTM6XBomcZxV2oejOF5MkegcDf/vY3dfjhhyu8M99///1Yn6FoHjhwoDrggAPUuuuuGzuXd1B1vZjDmPd5Xtvu+REjRqj+/fu7WYn7mEcdeeSRasKECVox4RdaccUV1X777aeGDBmivve97/mnu/b42Wef1f02HTz00EPt4pjJa+W26ucsrS/tjoMrd5XzXyixjzrqKPX444/rhdAoimxTMArccMMN1f7776822mgjm98uO43gMHbsWHXyySc31JV55plHjRs3rqE6il6M+7LOOuuo//znP5mXLLDAAmqZZZbR34VrrbWWNvDMvEBOwgBp6623ziuWev6qq67SbaYW8E5g8R3PnUn4toXcRRLG7xNOOCG16FxzzaWWW245tfzyy+s/7OcpnzH/2nnnnW2dMIi98sor7XHWDuZ5N954oy0ydOhQNWjQIHuMnWbjG2ucB0SgSxD45ptvYuNf3ljYJd1mN4gAESACxRCQiSITESACLUTgkksuicSDA1/SuX/igRfJ4kMLpQ3ftCguoz333LMGizXWWCN842yBCBCBShCYMmWK/h3jtyyKsEg8gCqpN2Ql4uUcyYJYzdiTNDaL4q6wKKHqLSwAC3YtAqNGjYpk0TL3mRXr5UiUd4V/h1XX+9VXX+XKmPQ7Q97o0aNz758o7CIxcirURt++fSPxOMqts1sKbLrpphYXYCSKsrbpWtXPWVbH2hkHI3fV8198X8wxxxz2/qf9xpC/6667RuKRZ0Rp6bYKHMTQr1C/szARJVHTcPjvf/9bWt6ZZ545Gjx4cPTWW29lyvmnP/2pdN0uLqL0zazfPSmsMTVtXXTRRW6RzH08s27befvAYPjw4ZEw1qTWO2nSpFideB+++eabqeXdE+KVGrv2lFNOcU/r/WbiW9M4M4hAlyBw8803x35rb7zxRpf0jN0gAkSACJRHQBj4ovfeey/617/+FYlhQ0SPO5kRMhGBViFwzTXXqN/85jdKfspahCWXXFKtvfbaavXVV9fUTrASfP7559Uf/vAHBQqhadOmqTXXXFNb/2255ZatEjtYu7CQ3WeffbT1YrBGWDERIALBEcDYdemll9p2zjrrrLb3coGMoCo26cc//rE66KCD1GqrraatxTFOwyL0n//8p/r2t4tPn0LVa+TktmciAI+BAw88sKbzslCvqTJFWWbP4dk999xzNe32mWeeafOTdkLU63sCJrVbb955552nRo4cWXM5vGWAhSxqK1kUt+cfffRRNWDAAE2FWwWNqK24DXeee+45hXmVSbvttpv64Q9/aA5bug3xnKV1qJ1xMDJXPf+FF+7vfvc7U33uFvcDnkOgiAYtdKtS1Ti0qh/NaPf//u//FL4jH374YYVxbdFFF21Gs5lt3HHHHTXnb7/9dv2tW3OiggxgcOqpp6p7771XXXfddYU8A/E+vOGGG9QRRxyRKYEo/LSXamYhniQCRIAIEAEiQASIQGAEiq88BRaE1ROBnoaAWBIp8UaxSjtQb4COBNSYJm2yySZ6FzHvtttuO/XYY48pxME7+OCDNf2VW9Zc04lbKCWxAOnSkXRiPygzESACnYvA5MmTrfBY3MaizXzzzWfz6t0JVW+98vC6zkcA9ILDhg2zHUE8ENBAYrEeMd2wMPmXv/xF001jMdMkKJExl/jFL35hsmLbUPW6ijvQfZehsIMxU1qCYdMhhxxiT4v3hRLPIXXcccdpHHACcybMLUCj+e677+qyjzzyiALl2WWXXWav7cYdULCbhPkiMGiHFOo5S+tbu+IAeUPMf59++mmF37qbNttsMyWeSWqVVVbRhifiJaTEu0mJN5T9DoHy45hjjlHiVeRe2pT9qnHo169faXp9jJv4voKBDtKcc87ZlL4nNSIeogr3zE2ITfjXv/5VIVbuU089ZU/BOOFXv/qVjm9axKgI9f785z+31+ftLLXUUnlF7PnbbrvN7psdUJ5+8sknCjSXZRO+DU18UtwXGFe99NJL+v2GWK4mYZ6FkApQPBehhb7++utzFXcoU08KiW898vAaIkAEiAARIAJEoMMRkEkqExEgAi1AYPvtt7eUAPJhEonVYKYUoAGRGAX2GrEyzyzfKSevvfbaSCzjbb9kSNX7v/zlL6MVVljB5pMqs1PuKOUkAlHkU56AKq/dkyxO2fFm3333rUzcUPVWJiAr6jgEfDrpyy+/PLUPEivWPtd4v+60006pZUPVe9ddd1kZQPldVRIlg60XfRMFTWrVr732WvSDH/zAlpc4d9Fnn32WWr7TT7zwwgsRKOHMnErYHdqmS6Ges6QOtjMOIea/+FaQ+F/2vuP+gzYyLQmjR4xmFr+Ljz/+OK14kPwQONQjqMRii+EmXsr1VFPXNT5VpniRZdYzZsyYSBRaMXnFSCPxGp/KUbz0Ess1mglqOzPe+NsilMdo36fKxLidlEAdJQYaEagy3baEIaGmuE+Vacq/+OKLNWVNBujdfXxxXRGqzFD4Gtm4JQLdiID/3UiqzG68y+wTESACRRHwqTJnlkkIExEgAk1GAJalt956q25VYiVpy1hYzGclBJEHHQgsypFGjBih5MMl65K2P/fEE08oWURU//jHP6ysoLaCBTAsNCW2gM3nDhEgAkQgJAJff/21rb5KOrlQ9VphudPjEIBHjUli5KJAgZiWjjrqKCXKMnsa7920FKpe1+POeE+kyVAm3/U6wXwBfU1LOO96nOF3+fLLL6cV7/h8eJnJx6HuB+aPbt9b3blQz1lSv9oVh1DzX4mDreBNZxLYPEBBn5Y23HBD7WVnzuN3AdrMMgmeUOgPPFldWtoidYTCoUjbbhn8VuBtaBLmAGBFade0+eab13gMX3zxxS0V16XJxLft+uuvb+VJ8sSzJ+vYmWWWWdTxxx+vHnzwQYW2TII3oihgzWHmNsuj7v7771cffPBB5vU8SQSIABEgAkSACBCBZiDQFKrM008/3dJO+J3CgsM666yjsyUYtTrnnHM0V7tYWCkJxqfmnXdeHY/hhBNO0DQQoIgALzkSFBi//e1v9b77Dwv+5mN+oYUWUjvvvLN7Wu+LdZ/lLUfMsP79+9eUqTqDOMxAtEocqr5HzaoPfP/m43bIkCGF40mArkS87tQtt9yifx+gC0H8pU5NiE3gJlDDXHjhhWqRRRZxs7lPBIhAIARAO4TFC9DqvfrqqwqLdsstt5xaccUV1corr6w23njj3HhuqANxON3kLswif9SoUeq73/2uW8TuL7bYYmqLLbawx1k7MHrAogzmApAXVEm4fvHFF9dzhGWXXTbrcntOPBDUf/7zH3uMHfEysMeYR8w666z22N8B5RPGbj+Fqtdvh8c9FwFQP7oKJ0OpnYYI4lX16dNHx8hFGdCq4d1rjIDMdaHqRf2u4q4K+lkjs3hMmF09F/L7ZE/+b8enCAUNeTcmPB/uQvkuu+yix8l26GvI58zvXzvjEGr+O2XKlBgMZ5xxRuw46QCxvvCOxvsV6fHHH9eUkUll/TzED9xqq62UeEfoU4gtef755ythFfGLJh6HwiGxsYxMfFeJd6YtAUU3lEPtnPDNhDHNrHm4MXpbITe+bU2CbJhLQrGGBBpWUH2CKrnKhHUkzLvcOeSxxx6raUbzDGIx9wVtc1K5LKVelfI3sy5QFCMkBxIotfFeuPvuuxUUvvj94tsb89odd9xRl8G63O9//3u9Lod9YcFRgwcP1nNtXSDnX1Xzdb8ZzGHwPMFAAX84xrwCMR7XW289BWOFeuLXYj4BQwKsrWAf8axh8IN41xtssEFMEe3LlHVcxXdWVv31nmvm8/D222+r++67T+F9gXcUvr/wvOFZA7VsK+Oq1osfryMCRIAINBWBoq56jZSTD+kYjYF00B4feuihumr5wIyES97mu2WwL1z9utwDDzwQK/Pmm2/WiCaTN1sGdcpHQU2ZJZdc0pY5+uija86HyCAOM1CtEocQ96kZdf7617+2z98rr7xSqsl77rnHXnvTTTeVurbdCkswdd0XmXBHEoOmRjz58LN9JVVmDTzMIAJ1IyAf1JoyL2s8xrt3rbXWiuSDPrMd0HD57+wyx2gjL4G6C5TCoPFKqxu0cAMHDoxESZBZnU9JlVZfVr5YeNe0EaremoaY0aMREKO2SJTV9k+8XHLxkNh39ncjMZAi0ID5KVS9aOeAAw6w7VdJ2SgLw7ZeUWD6Xao5lvhHtjx+37KIVFOmGzJk4dL2U7ztotdff71tuhXyOfM72c44hJr/inedvfeyOO9DknosMdLsdRIrLLWcewLjyE9+8hN7nXlnisIrEsMat2jqfigcUhtMOIF+LLPMMrYfogCIxIswoWS4LH/+kEeVaSTZa6+9rNzAX5Rj5pTdNoMqE5RO7nxy3LhxEWguzTOBbZFv1qJUmbZzsoN1Hje0AtoS4ytbxKXKRLmll17ayoXnz0+gdp999tl1GfRpyy23tOU7mSoTtLjmfohhXjRhwgR7bPKxFUagCM+jGLbXnAcel156qQ9Z7LjK+bpbMe4z6GtFKVcjlyu/MPdEWfThbp3Y/+KLLyKJERyjlnbrM/uiJI+KzLdM/VV+Z5k6q9w263kATS7uicHR34p3cySK2JoQC3nfnlViwbqIABEgAu2GQFtSZcJSTBQZCtY8eWn11VePWQnDKsZPoEkwCXXCe89NMiGz3nbI9y1w3bLN3CcOM9Aug0Mz70+VbcHyCEniUMQorEwbMnBoC0oTIN3kY+vSR8pijHuq4/bnnntuteuuu6qpU6cWts7tuE5SYCLQZgjA0hEW8vA8963dfVFhfbrKKqsoWfjwTzXtWD6q1UYbbaQ9AlzaSV8AjJuyWKT69u0b8/Dxy/GYCHQyAgsssIC2joeFPP7wvOcld64MS/sk6+ZQ9UI21+MuiSoTv916kuthizFKYtZlViOGT/Y8PGrhWdxtSYzBlCyQ226BdQQeye2SQj5nbh/bHYdQ8993333XwoDfetHklnXryLoeHo3w1vcTvl3gEVMkhcKhSNumjMSGU663Gih3e/XqZU639dZlMkjyHGuW8GBCMPNJeDuBJhPfq/DSMsn1yDN5VWzRb58KOOm5RFtgaYDXmElJnnXwQsO8EwkeXAsuuKAp3jVbeD4PHTo0sT/AEp66SfN+3GP8PtJCdYSar4siUXu9iRGQ9oRLFPx/mZ9//rnafffdlcRAzCqmz02bNk2vxcBLOG8egvUpeN4VGds67Tsr1POA+4U5CO5JWsKaGLwk4TnJRASIABEgAskINIUqU4LSK7wQTAIlhzuh2nvvvWMTACwoIB4HPu5BY4OXqkliAaXwoW74+7EdMGCAOa35yI1SxGRCkQc3d5PwoeG+nJuluCMOM+5AlTiYe9pp23feeUeLnEQJiUnxqquuqilbwNv//PPPawoI00c39pKvlDZlOmULGpUrrriiU8SlnESgKxAYOXKkEitj2xdQYuK9DMMYUBlNnDhRYYHb0F/CAEasjNXYsWPtNe4O3qHDhw93s/T4Jd4tNm///fdPpUgSi31bLmkHcWZc6s0f/OAHau2119Y026DTxjxALIDtQgvmDIhrdN555yVVp41/EMvGp8oEJZAxlgAW/fr1S7wemWjXT2KJrGPkVF2v3w6PiUAZBGDg4yqsiij6itRfpl5XcQdKKyzCiWeFpuSbPHmynudjvoOxCH/iRaJpr/LkQGw/QwmJWLm4DguxSYpJxCxyxwRQ5CeVy2uz3c+D+s0soIt3ZWbcv3bvC+Qr85y5/Wl3HELNf8Ur3cLgfj/bzJQdtyzesUVSliHNJ598UqQKTafYyu8AKHIQjsMkUG9nxQw15dplC8NHkxBOoR6KQHN9I1tXKYe4iUahCBo8YziCOSHmWCEoSGHc5SYYtSQl3G8Yi2MOiLWgm2++WYdpQRxQk1xlHpR8oI7ttmSeGyi4xMNWCeuN/S7AGh2+CYDJsGHDNKWheLppinrgAApMYcBSwnBRA0vV83XTwEUXXaTbNMfYgh4V8xlh0VJYV4EC3lU2jhgxQtP9C2OPe1lsXxgAYgoj/H6gaILBIhTCoOXHM2IMpfH8ot0//vGPWuEXq8w5qPo7y6k6yG6I5wH3AgpRN0EJDvxgNAVDK+A4ZswYhfkbnjkmIkAEiAARSEFAJi1NTxLTzrpLy0TL7oO+Eq7SoChwE2ivxFLDZsmE2l4jL1ebjx1QM0hXY3+HHXZYrIzwe9vzYg0WO9fMA+IwA+1GcWjmPauqLUP3ttNOO9VUKRZd9vnEs3z11VfXlJEYErqMKK1rznVTBqkyu+lusi/tgoAovewYIx9PidRKkFWsbm05WeCOJB5C4S7Ih669FuOYfJQVvtYtKIt/kVi+27ow9smCjFtE74uHQCSGELacLBpFEp+iplxWhnu9LOpkFS11LlS9pYRg4R6JgChwIpcCD79FWShpGIuy9bo0dKIgjyQukf2t+nN2HGOOJMp3TdeVJ6w7TuFaUKGBehs05BgXQG0FOjmXxk080CLQWHVbkgXXCGO1wRTfS27CmAhKUcwd8ZdHK+xe+//YOw9wO4qyjw+oiBAg9KY0A6GXgCglkFBCCZ3QJZQQeidI76EXIfTQe6+RgPQWQEGqiqJ0Qhdpggp++73/ub7j7Jzdc3bP2T337Ln/93nu3TY7O/s7W2bnbb0xn/c60zZ2A4dm+79iRON+f1wHojRRLKlTMc5xoQGxD+7PLCJGualh6/xQhVnqSivTLIe0+sL1YWjGRmEAw/2LWm4mVKbk4YoQllTv98033zyxOWWHykRoRITk1XZcdtllrh0yeO/WY7sY77ptSTPh74Fwm1lFvKjdsZCSQsVvA579EH/sQTzstGiEPqcyRX0Yf5LIMK7ebgmVid8CzwoVUUhFGBPT3xBTP9ykGMXHfmOEyA+lrP463tWSV9q1Db+LKFfDw9tlMc5x5XAOQ4YMSSyHlf54IMqKss72G8IdRMEU+WGXUda/vsLyWG7Hd1bScfOs80Nl4pyKvB7w7hYDyNhvgWd5Ur9Lct9FotCLlUV7kr718pwfy5IACZBAlQmEoTLb4nEnD99UUSvgTTfd1HreSAzkmrJhWB1Y96t1nnre6U6/+93vdNZN/dCZWOnv0y5vO9eYlBly6AHTDIcUpB27Wj5wjFqpImRQKGGogHAZ5eHtAeskWA5SSIAESCAPAbV+xj4y0JNqoX3YYYe5JOIoCw9f3+MX68oWeMjLQIs7DKx+YREfypxzzmm9AmEpC0EYH7TXD9MU7sNlEuh2AuPGjXOeszhXydVjlltuuZZPO2+9vscdLPgbCfpI8IhAf0lyXNctDm9gWHHvu+++1oMCz7ctt9wydR88E+BRkeQ1m7pTRTaABbwZIfC2wzPcF3BFGDgVeEWF31i6rROmea8zbXO3cdDzyjKVgWoj+dFcUcl5Zx555BHrPeJWBjOSA9N5rGNT1mcEPHIuvvhis/XWW9t7T6vFexjt6HSB9wy881UQ2nH77bfXxY6eiiGVEeNPFyUAjU3ygEo6Cdwf1113XdKmmnUIqw6vrHqCaAwaaQCRB/x2LL/88gbfuvoOgGeeDODXq67pbeifqudoPY87HACedGLUYY8FTy1tMzy4cV1A4BmESE95v7WL5msbU/A/eJMdcMABrlaEhsX3wMknn2zXiZGcGTlypNuOCEG4p0XJYtclhdMtq7+OsP54V6nAMwuhFZNEctUZePHrOCG8JRFJpF+/fjXFTz/9dLcOXqC33XZb7HtDN2Js8qqrrrLfQzhHCMJR4zmb9k1Upe8snE/R14PkOLXedKgbAq/Im266KdHbFtEP8Hv5EdR69uJ/EiABEiABJWAVd2IVYV9qurKVKUIj5I0Ljw9uSVyaOngYtsdXtmnYS7xwIKqkQ8x8sRi0L2G8wEXb6j5a/JepXxc59JCuGoey2ltWvX5nN8uAiV7bPb9Oz398GEGStvWU4H8SIAESSCaggxLY6ud1CUsjZAxyxvWmrLjiiga5irIIBoh8efPNN6m484Fwvk8RQKhbf2AOg6cIT9mq5K0XofL9QTc9PnL8IhyteD4Ysaa34XUlwoB57rnntIhB+FqEzlSFvNsQzCBEJkJZnXnmmcGW+CLCM2HAGsfuNsH5Y3BRBYP6GCyrquS9zvQ8u42DnlfWKcIUIj0EBk4hCIu9995725xVYYhCfBvjnkGoaV/WWWcdf7HuPJTkyy67rIFCBvmtoPSDwqMKguchFGAqMBaAwrsTBKlCEKbPF4QtxzqEDkfoQDUCRRmEivQVLf5+4TzC4mlovHBbuJzlGaLhirHvCiusEEvvoIo8VaQgXQYUYWVwRp5GVdyh/5ckqoQbMWKEQQh39IeRn0+8ke04lB8mE89QiO6TVF/SuqL5Jh2j1XUYfwiNV+aZZx5XLULYh7+RnwcziUlZ/XX/G6B///6pufm08Qh/KR6/umigxA2N+NB+v97dd989UWmnlSCsNhR1CP0Kwf4I85imuKvSdxbOp+jrIfy2hDI7fP/guCp456A/iBCsFBIgARIggVoCtncKS5ZGH8W1uyavgaWahEhI3piy9sgjj8ystEMVePliQBGdLAmraT/WtWOpHndQyKHzCOsZxFBGR1fz6KR53JFDzw9UNQ5ltbesev2EzhisopAACZBAOwkgTywMWiCwNIZlLTwzshgStLOdeY8Vtl8twPPWw/IkUHUC6OfCel69rzB4KmGhagbq8p5nM/UiH04o8OCAssA3PlpttdUMrOUxeK5W/9gPHjHwjlCDpbAuDJ7BUvvjjz8ON9UsS2g5+w0BRcZZZ51Vs73KKzAwpoOpGGQ8/PDDK3s6zVxnerLdxEHPKc8U9xQU3htuuKHzgkNuxwcffNDmq4KSDQa2UJBLKDyb09avH4P3MHzNI/i+rlp+Iowf4FpRgbITz5lOETyfsj6j0PfBb9kbAm8mSXPiDq2KDbdCZrBOFXfwon5Y8ijDy6ZowXNPRd99uqxTfUZCAQTPv5tvvtmOJSHP1tChQ939AEMXKMEhuo/W0Q1T9PtD8fNjwgA+FAlRGa5qejlPf91XsCH/dKMcnDDiQ8SNeoJxQRgVqWS5HqFYwvMVBg+Qeseo2ndW0ddDqLiDt2YjQRkq7hpR4nYSIIG+SsAq7tI6N81AyVsXwmzstNNOuQ6Fjhk+PDTEAT7woLh7//33bXJaVAbFne9NB4UePixgDaihB3HsZZZZxh07b9vdjgkzeesihx6IzXDIyzrh53Kr/Lr8eVegyZm0uvxBqyar5m4kQAIkkIvAXnvtZSRnh9sH4cgwsId3JgbsVlppJQPL2aQPd7dTL81IvhEjeUCtpSzm8U7XP4QPppBAXycguWgMrJdxf6hgABgeGa1Is/XCWAkDfjrYBS+GCy+8MKa003ahDwir9hdeeMFo6HR4Dt19990ulJmWxRTlJIdfzKNvzTXXtMaIAwcOtGHOsD/CZeE5h0FmCObxLdEoDKctXIF/+K5B5BIVMIYioorS7HWGc+0mDq38dlBIHHvssVYJrvUgQs3o0aN1MXU6ZsyYGk+b1MIV3nDuuefacQM9hU7yttM2NZriGxKhUMeOHWu9lhuV1+0w6kA/L4s0Cps6ceJEG5pc60pS3OGZjIhMargKD70sihKtM+vUj2jje4/5+/tKOChqobiDwNPuww8/NIi2A0EoRlUE+vvYjQ3+Fcm3waGa3txo/KHR9iwHLqq/rl6UOOZ8882X5dANy/jKQBReaKGFGu6DfgxChuIdBUnz6sS2qn1nNfq9G23HOfviezJD0ZqUGsYvj3n02SgkQAIkQALJBKziLu/DOLmqnrV568ILGB/qeQUDjL7iDh8p6m2Hun72s5/ZcB1w80eHCyE0Ec5DY1OjDMLvoCOpkrftul/SNG9d5NBDsRkOeVkn/V66zq/Ln9ftzU7T6tKBrLz1Nrtf3uOwPAmQQPcR2F484/G+hLJOBYMVTz75pP3DOni34D0qCdhtfpN6IU60jjKn8BaQxOm23TqwUubxWDcJVJEAQqlBaecPmiD3G0KCtSKt1AsFEiJk5BEoGv1BHDybNAeR1oNBWgwIaxhOPKMwIByWQz3wyIOXHQZjNYQWvJLmmmsuA0VF1eXEE090OaYw2BzmtqvK+bVyneEcu4VDEb8XPC4REhbKujSjFni9QFmhgkHpRvnMtGyVpzD2OeWUU9wpYNBewyK6lb08A++n0HgKfR+E0FSBlzIUkHkFYyZFnS9CpPoCT04/3LFuQ54wVdwhNCXaneZFrfvknfrvvaRcyKjPV8LhXYlwkfDWhtegHz7U977098nSpiL5Zjlep5Upur+uBjc4Tz9cZyvnrdei1pEW8lK36xTlVHHne+zpdp1W8TtL217E1B+nCr0r0+rPWi5tf64nARIggW4mYBV3UGgNHjy4kPMMO5mNKh0wYECjIonbfW86zVmn+e2gJIGbPCxjkM8CHUhV6mlZVOrXgWVyAIXqcSjrdyurXj9mfNhx7PkFGv/XkFD4EKKQAAmQQF4CZ599tvXAOeaYY2IJxLUeDBA98cQT9g9h6zDQsvTSS+vmtk7322+/hrmr2togHowEOpAA+hPwdvD7uZtssok5/fTTW2ptWfXWaxQG0n2lAvKWhYJQm34YTnjRhUo7fx9YfN9444020oYOvMHjDopNv1/m71OFeZyLhqFDe7feemuXGqAK7dc2tnqddQsH5VHEdOONN7YeqVCuIGcgPBKhRF9yySXtdzK8pSZMmOAOhX5BkeHwXMUdNgPDAP2OQtPgbafeVZ3S1KOOOqom/CgGw/Hb6TMeChIYJC+66KK90mzcs2EeZDx/GgmUjzDGyOr116g+bIdyB6lRVNIUd75CAYbjW2yxhVUiQjmn7xnwHDRokFblvMXdCs6kEii7v44wv2VIViVy1nJoY5W+s8pgqnWmGa/rdk5JgARIgAQaE7CKO3id9VZIlbRQBo2a7ivdECoToso5fPBr7jCUg+IO+XzQWdOyKO/XgWVyAIXqcSjrdyur3jnnnLMHtPzPa4WOROQIh6QfnM0qvl0DOEMCJNBnCWCQG38YzENYOoSTwx9Cy/mC7cg9gJwFc8wxh7+p9HkMOJ555pnuOBhogSU0jI3w/EMIFuS87devn0Ey+Gb7FO4AnCGBChKAoh0Dpo899phrPfL1IPxXnoEmt/N/Z8qqNzxO0jL68uoN5HtSaFkNpYnlWWed1ey88866KXUK7wqUQ25tCAaQMQjeW0YJqQ3NsQGeg77lP5SQfo5Avyo/fCrWQ3GpfVLsB0+93hhkK+I66wYO/m9V1DwUcfCuCj2sLpecl77SDjnxoOjrdoFXp2/MsPDCC9tnZxXOG/cmcgmqNxjGNeBletVVV/VK8++77z4XfjhvA+AdXaTiDiHUfUlT3PllMA+Wodei8g3Lcrk+gbL6634fJs17uH7LGm+F4jeL84Hv/de4VmO/sTr9OyvLebRSBgr+LIJvOAoJkAAJkEAyAau4S97UnrXNWrnCVR0hbhAqB4OJyCGmijuE91LB/AUXXGBzffzlL3+pq7jTfXpjSg491Jvl0Bu/WbPHhBU5LMYw0KIhnvy6/OTQWI8PzBtuuMEWQTJlJFSH4ANus802s/P8RwIkQALNEoCyC4PZOvANq2N4pmDwV59RsGTGwGjagHCzx260nz/AhgFIKBbTBtnL+qBv1EZuJ4HeJoBQmLfddptrBvJAw0u21RC3RdQLrzjNPYT+DRRyWQQD7CpJBgN+fpm0Z4Lu70/93NZY/8Ybb6Q+U/z9OnUe7fflsssu8xfrzo8fPz62HUqBZtIXxCppYqGI66wbODSBrqldkDPKD5+LAevzzjuvqbqqttNpp51m/GcLlPi+YqDTzwfRYBAGVZ9/1113nUHkhAUWWKDtTffDZMJ4CrmR68nzzz/vjDHwvioyx2jYN51//vnrNcVtgxH3ggsuaDBGBMG3NULEU/ITKKu/jvE+/RYJn/P5W9mzx8wzzxzbFeMriNZVT6Ao9w0b1eil3j66rZO/s7SNRU59z214w0Mp16g/it+AQgIkQAIkkExgyuTV1VirHnOw5Hj88cfdwECouNOzQShN9biDRx46at0g5FCtXxEfBeiEQvRDwT8DWCD6HZ5PPvnEvPjii/bPV9ohjEo4AOXXw3kSIAESaIYABjwwgItQmb4hgRrHNFNnM/vgIxnPPhUoFusN0Cc9T3VfTkmgWwmMHTvWnH/++e70oBi7++67zXTTTefWNTNTVL3wCMF9iz/0WRA5oJF88803BsoFFYSHqycahaBeGd0Wlm00mKT7cVoOgaKus3Ja1321wmgQuR79iB8wcNXvkmbO+OKLL7aeJcOGDbO5c0PPzmbqLGMf3PsIk6mCkIgIlVglgYHrAQcc4JoMw+WTTjrJLbdrBqEl77zzTnc4eGsiHGu9v7322suVhwKmqD4lxnfg/acC4+7VV19dFxtOfW9URJcoKo9awwN3UYEy++u+UvrPf/5zQ2rwioNSWf+SvOT8OlGhn98w7QDw/Pefm62EqC3yO6sTn7++4tdDfi8AAEAASURBVBwe9XCyaCQI+0shARIgARJIJtDrHnfJzcq2FpYxamGM8IEqqsjCsobNhKXO/fffbyZPnmyLYV8oULpByKF6vyI+KvDRktRR7N+/v8FHCAbikEDdF1iFIqwtPkj869wvw3kSIAESSCOAZw5CR0OQ0wXW22mCEFKLL764y4HnW6mn7aPrEWrYFzzvsoSh8ffB8fwPbuSoqicPPPBAvc3cRgJdR+CSSy6x+Zn0xOaee25z77332tCRuq6ZaZH1Ite0CoyPEJ5v880311WJ0wsvvDAW/jFJcYdQaAh1CXnppZfM+++/nymUL/j4UvW+1BprrBEz9vLPLZyH57QfHhEhvDS1ADzt2p3nq8jrrMocwt+pzOWDDz7Y9QFwnO22266l6B1jxoyJhZ6EAgVhEKHAKSsfVbN84JXl9ylgAFklbzs971GjRpljjz3WpU3AGAjOBc//dsnDDz9sYFiqgvyqjWT99dePva+gWIF3eCuCd4DvPYq64JGYxyADIYJxHUN6w+PYHrji/8rsr/vpfGDM98gjj5hVV101ldj1119vRo8e7bZDaTRw4EC3jBl4wOG3hpEQBAr9kSNH1h0bRNQRXxZbbDF/0c236zsLB+zU56+vuEM7wQ7hmdMERhVXX3112mauJwESIAESEAuZtssqq6wSCXn7t8ceezR9fEnK7OoRDyU7j6m8hGN1rrXWWm6bHlcSUcfK9MYCOfRQL4pDb/yGzR5TBsvdtSs5GJutpuv3k488x0k8abv+fHmCJFA2AQmN5u4pvA8lnF7qIcVwIJIccq78jjvumFo23CDe7W4/HGefffYJi2Ra1nc76pCcXZFYbibuJx/zkXgHxo4phj2JZdNWyqCX27/IPkJZ9aadB9f3DQKigIlE0eKuWVGMR5KvreWTL7peCX8UyeB4rJ3iHZvaztdeey323JEclpEo5WrKy2CrqxPPBxnIi8QLpKacv0LCjsf2EeM+f3PXz4vHQOz8JexXr51z0ddZnhPpJA5p7S6j/ztx4sRIjFbdNSCDq5F4x6U1oeF6GWyN3du4D/VPvH4b7p+lQFEcJFxvrI8gRkmp/Yks7Sq6jHjOOXZgKF50dQ8hirtY+Xp9rLA/Jjnx6tadZeOuu+7qji8K2szXkShM3H5iHFZzqLCPivdBmuAak/ymrj5wm2+++SLxKo3t8uSTT7oyeJ/klfXWW8/tf8IJJ9TsXgbfmoMUsEKU6e48ROlUU+Oll17qtotRR812UZC67WIAULO9rP66P96H33iFFVaIxPOt5vhY8cEHH0TiTefaKdG1EsthpSjqXDnUK7kOU8tKmNcI1znK4U/CZNZcZ7pzeA2X9Z3V6vO3zOtBHCYiifrgeOG9I0ZTiig2Rb9NvF5dWWUsBp+xclwgARIggb5EQAyT7PevRJeMJNxwVGmPu+WWW85aysEFW0MIwnIrzJMGa1pY/mkZeSF0lbcSOeAXrZbgN4NFGASW5X6Yq2qdSWutlYdvLF58WJvv4QPvw7T45/DugRcjhQRIoD4BhIXad9993ftw2223tXlg1113XSNKOrczQsKIos7AQ0NFPpZ1tuEUFrK4LzUpOaxZEaILltEIU+1bNeMdnmb1jnf6Y489Zo/30EMP2f2PP/54A89kCMI1IU+TKNoyheCzO/EfCVScgAxE2hBvCJOmcuihh9r7FSFuGwmiUcwyyyw1xcqoF88CPHeQiwkCLw3kQkJuKYS/Va8cPB+uueYa+3zyQ+3hfk/ytt1ll12slbx60MAKX5T7Bjmswlw1qA/eNmFOJRl8rmHAFeUTKOM6K7/VxR6h3f1feKRuv/32BseFwLsS91srIXWRfgLv7yR5+umnzdprr520KbauXRxE4RLrI8BDrcqRd8Tw2ZxyyinOg/Ciiy4y8BwTRVaMb9KCGIyaPPm58Lz2w6bjN7/99ttd1XjuZr2ORAnm8inCEwrh8eqFHIRnnyjv7LHQn0SoRDFQsX+ITqPXszYG+f78/qWub+e0Vb7tbGuRxyqrv47rC3/4BoDg/YF3PPK54pj6/SCGCdYDTa8XlN10000xSZQDDzzQiBLbXUO4p+C9j/DNmgMP1xyOg/C06KOo4Jsm7Tpr13dWEc9fPZ+ip/hGQ/9O8x7iPl1nnXXMIYccYr0h4fEIb0fkvcQ3aZZ+a9FtZH0kQAIkUCkC8iAtXWA1Jnkt3J9vsQJrfn+bzos7daZ2wWJOgLs/eQnX7AcLQ78M5j/66KOacmWvIIcewmVyKPs3LKr+t956y1m9wiIJni19UV544YWaezO8V7MszzbbbH0RH8+ZBJoiICFkau47eMQstdRSkYSwiwYPHhyJAUysjHwcR2L8kut4MjAWq0PvZVhe4rkH61wcd8MNN0ytV0Ju1dSB/ST8XgRvGQmH5LZLXhI3j2PR4y4VKzdUmACiSsigUuxa13sr61TCFtUQKKteHOjNN9+MJIdWTZvxPQDLf/TlZRCsZjs87eGJkiaPPvpo1K9fv5r9FllkkWijjTaKNtlkk0gGnaPpp5++pgyedX1NOsHTrMzrLOvv2Qkc2tn/FUVLtOaaa8buAbyfWxVJPxGr03/+SN6lTNW3gwOeP/7Yg4Te7ShvO4DK63GHffbbb78YfxkUx+oaCT3C/N8py/ykSZNidYoxVey49TyVYjvKwj333BPbF56DvoTeSlnahzLwOL/55pv9qty8KHrcMdvhcZe1zVou5OsaXvBMmR5WaGqZ/XX8hmIM6H5HZYfvAbzvk97xGFNM88xTtGnfKfAMhUeoH9VAjymGjrp76rQd31mtPn/Lvh7g5QzPROXmT/GN6T+TsQ1enn4ZetylXl7cQAIk0AcIhB53U8oDsnSRUCwG1kf651uswJpf1/tTWPtnkTA3hXzk1+wWWt4iIW2SpXHNjgWvIIceoGVyKPgnK606JL5WS1R4ksELBZZHfU3kmVvIKRdVTyGNYSUk0OEEzjvvPGs96jcTFtQygGZuvPFG6+EGTzYVCT1kJNRLzOJat9WbIpcOcpqEgvsVzz14weO46pUXlsOyDLwbJF73LVuxH6xiX3nlFSOhA+xuMnhvrrzySoMphQS6mQDumb/97W+Fn2JZ9aKhsK5G7qvQMx7fA7AahwdF2AdCziTkQFJr+qQTFiMDAyv78L5Hjhl4hGB/WHL7HnyoB14fEhYsqUquK5lAmddZyU0vtPqi+q1Z6jn11FPt/acnAO95eKm3KqKMtzm3w3rgrZIl5xn2y9L+sP6k5Xr1HHfccTFvmaOPPrrS3nZ6/vvvv3+sbyQKNONHKtFyRU/xXPUlqZ/nb/fnhwwZEnteh3X5ZbPOI78l+oT1vKuy1sVyzRMos7+O8T14X4aeovgewPs+fMfD0x99AFHs1T0hPAvgqRqKGFgbeIT6UQ1QBl7L8FRuJO34ziri+dvoPFrZjt8KvxnaGQq+Mf3xYDFCMIgaQSEBEiABEkgm0BbFnT/gltyM2rVihVG7MmFNqLgLl7ELPiAQmkslqYxuK3NKDj10y+RQ5u9XdN0I56RhXZFYHIo8iQle9GE6ur5mroWkE8r6vEjal+tIoK8RwHMHzx8o48TC0UgOtkQE8847rw1phNBEaWUSd/zvSoTKvPPOO+3guXi3GCgAk6TRh/WoUaPsoCOSy4ehrfAMEY89g7BcGBDynyn+fNJxw3V+eX8+LJd32a/Ln89bD8uTAAjgHtC+Q7NEkt6ZZdWrbUQ4NAyw/eIXvzAwXkoTbJNcdPb5FA7SJe0D5R1CpiHMVaNwbVBYIKSm5Fcz4nmRVF1Xr8N14z9DW72OmoFV9nWWpU2dwKGod0HSvewzEK8Hc/jhh7tVuEcw8IxQmUXITTfdZLbaait776FO8WazyvQsIRtx/LI5wEgI31gq4oVjxBtXFztq6rNo9Lui4TCEkNxQ7hygvMCzMxS/3nBbluWwLRqyEPsuvfTSdZ/nYf0SJcEMGzbMrUaoPF/ZGB7LFfzvDELwrbTSSjYMH8IVSv4zI7mzEpUDuq9//o3q1338qb+PX5eWSVqn27JM/fqzlG+2jH+cpDb76/x5PZ6/zq9Lt2NaZn8d43fo60PJM2DAAP+wbh59hnHjxtkQrDAYyiIIjQnngREjRiQaCiFMLJwAkHYHYTM1VH+9uvGOacd3VivPX/839H9bPS9/nT+ftN2vS7djirDs6J8hRGaS04RETLJh0xFSMzxGuOzXy3kSIAES6GsEphALtWJcXvoaOZ4vCRRAQMJVGVhMqmBgG7mmBg0aZPBxKaE/bD4YDHZhsAlWo0m5XnR/TkmABEigGQKS5NzmGoAXPJ5DsFbN8nGa91iwjsUfBAM4GDyv51ET1o+BKXgGwktPQuPYj8IZZ5zRFYN1rHZremNQ2jWEMyRAAnUJ4Jnz7LPPWs9Z3LcSMtNICNyW+jgYpMcgkYRYMhIezz5b5phjDvucwABSkuV33UZyIwmQQCYC8JjFfQyDHQoJkAAJlN1fh0ccIm98/fXXVomNd3xWg4G0XwdRPF5//XWbVxGKIxgwQkmY5zslre4yv7Oq8PwFWxiCIs8xPO7QHwtznqex43oSIAES6GsEkJsaxo4Yj8OUiru+dgXwfDuOwMknn2ytYf3QdGmNRDgpDG5RSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAEqk+Airvq/4Y8gy4kAA8ShBG4//77a/K86OnCMwXl4AlDIQESIAESIAESIAESIAESIAESIAES6A4CH330kUEY0CIE+Qd7K0VMEe1nHSRAAiRAAiTQFwmEirvv9kUIPGcS6DQCSy21lM0JgTj/kyZNMu+9954N/YCQb4gJjjjt6Hgz3nen/XJsDwmQAAmQAAmQAAmQAAmQAAmQAAm0RgBhno8//vjWKvnv3jPMMAMVd4WQZCUkQAIkQAIk0HsEqLjrPfY8MgnUEEAM2+HDh9es5woSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIIHuJ0DFXff/xjxDEiABEiABEiABEiABEiABEiABEiABEiCBDiUw//zzm7FjxxbSutVWW62QelgJCZAACZAACZBA7xGYQkLxRb13eB6ZBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABPomgTDH3ZR9EwPPmgRIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgAQ6iwAVd531e7A1JEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACfZQAFXd99IfnaZMACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACXQWASruOuv3YGtIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgAT6KAEq7vroD8/TJgESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAES6CwCVNx11u/B1pAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACfRRAlTc9dEfnqdNAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiTQWQSouOus34OtIQESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAES6KMEqLjroz88T5sESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESKCzCFBx11m/B1tDAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiTQRwlQcddHf3ieNgmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQGcRoOKus34PtoYESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESKCPEvhuHz1vnjYJdCSBf//73+ZPf/qTee+998wXX3xhFlpoIbPIIouY733vex3ZXjaKBEiABLqRwDPPPGMmTpxoJk+ebP8+++wz853vfMd8//vfN9NMM42Zd955zZlnnpn71MuqN3dDuENDAngfv/zyy+add94x//rXv8zcc89tBg4caPr3799w33oFoiiy19Sf//xn83//939mvvnmM/PMM4+9turt143bwBZ9HtxfP/rRjyyL2WabraVTJd//4fv888/Niy++aL788ksz11xzmfnnn99MN910/yvQB+bKuo/7ALpePUX+br2KnwcnARIgARIgARIgARLoEAJTyAdu1CFtYTNIoM8SePXVV81xxx1n7rjjDvPpp5/GOEw11VRWeTd06FBbpl+/frHt3brw0EMPmWOPPdZ8/fXX9hQHDRpkzjvvvG49XZ4XCZBABxCAMmXXXXc1Dz/8cN3WYBAcSr2sUla9WY/f7eWKfF/AaOaYY44xV1xxhfn4449j6PA+3mCDDey7CUY1eeTpp582hxxyiHnqqafMP/7xj9iuUAqj3j333NOsttpqsW3hwoQJE8zxxx8frs61PPPMM5u77ror1z6/+93vzB577OH2GTNmjBkxYoRbzjqD/g443H333VahFO63xBJL2OOMHDnS/OAHPwg3py4XxTf1ABXZAGXooYceaiZNmmRef/1143/mwQhs2LBh9jpbe+21O+6MqnAftwNakRzC9uJ6GDVqlPnjH//oNuH7Y80113TLvTlT1vPXP6cy+frH4TwJkAAJkAAJkAAJkAAJ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JEACJEACJEACJEACJEACJEACJEACJEACbSdAxV3bkfOAJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJFBLgIq7WiZcQwIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAJtJ0DFXduR84AkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkUEuAirtaJlxDAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAm0nQMVd25HzgCRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRQS+C7tauyr7nzzjvNiBEj7A5TTDGFef31181cc82VvQKWJAESiBH497//bf70pz+Z9957z3zxxRdmoYUWMosssoj53ve+FyvXFxY++ugj89JLL5lvv/3WzD333Ga++eYz0047bV84dZ4jCZBALxN45plnzMSJE83kyZPt32effWa+853vmO9///tmmmmmMfPOO68588wzc7eyrHpzN4Q7kEBGAlEU2Xvgz3/+s/m///s/+y6eZ5557L2QsYrUYu+8847t8+D++tGPfmTrnm222VLLc0M+Ap9//rl58cUXzZdffmm/z+aff34z3XTT5auk4qXRr3755ZcNrrV//etftj85cOBA079//4qfGZvfLAHeF82Sa22/3h43Ovnkk80RRxzR8CSuvPJKs+WWWzYsxwIkQAIkQAIkQAIk0A4CLSnu8AH0zTffuHb6824lZ0iABBoSePXVV81xxx1n7rjjDvPpp5/Gyk811VRWeTd06FBbpl+/frHtvb3w0EMPmWOPPdZ8/fXXtimDBg0y5513XlPNevvtt80vfvELgzo/+OCDWB0YMB8+fLjZa6+9zJAhQ2LbuEACJEACRRCAcmLXXXc1Dz/8cN3qYKSUR3FXVr11G8mNJNACgaefftoccsgh5qmnnjL/+Mc/YjVBib3BBhuYPffc06y22mqxbY0W0N9BvXfffbdVKIXll1hiCbPHHnuYkSNHmh/84Afh5szLv/vd72w9usOYMWOcsaGu68YpFFSHHnqomTRpkjWohOJVBUZgw4YNs7/b2muvras7ZlpkfxLGb8ccc4y54oorzMcffxw7R/Srcf2i7wrjuE6TIjmE54brYdSoUeaPf/yj24TvjzXXXNMtd9JMUfdxle+LTvo9WmlLb48b/fOf/4yNW6WdC9pJIQESIAESIAESIIGOISAd+KblxhtvxNeg+3vjjTearos7kkBfJTB+/PhIPDjcfeTfU+G8eOBF8hHbEahEwRiNHj26pt0/+9nPmmrfuHHjIrEEr6kvZCDevZEo7yLxxGvqONyJBEigfAIvvPCCfT7gGSGKsErcrzLQGy288MINn0F4JoniLjPEsurN3AAWJIEcBGRwMxKlWYR3bfj+TVo+8sgjM9cuCrtIlCaZ6h08eHAknmKZ6w4Lrr/++u44OKYYBoVFum4Z/cnpp5/enXfS76Xrdthhh0g8jzqCQdH9SVFKRT/+8Y8bckDf+7rrrusIBmhE0RySTgx9bb0GMF166aUj3POdKkXcx1W9Lzr1N2m2Xb09biTGVtGss85a8zfTTDPF7onLL7+82VPkfiRAAiRAAiRAAiTQMgGJwBe9//77to8uBkVRSx530uGnkAAJtEDgqquuMrvssouRO9vWssACC5iVV17Z/OQnP7Eho+Cl8fzzz5tf//rXBqEjX3nlFbPCCiuY66+/3my88cYtHLm1XSdMmGB22203Gz6rtZp69r7sssvM3nvvXVOVDEDZUJlfffWV2wZWZ599tg0fevrpp7v1nCEBEugcAnh2XXTRRa5BZ5xxRkveM66iEmfQRoQqVpGBX7Pvvvua5ZZbzsw+++z2OQ1LbHgfffe72btPZdWr7eSUBIokcMABBxiECgtlxhlntKEG/fcxysBrCR54osALd4ktn3POOebEE0+MrcPCzDPPbPCuf+utt8x//vMft/2xxx4z6667rg1ZmzdM9nPPPWfQT1HZcccdzQ9/+ENd7MopohWceuqpmc8N/S6EAkZIYPx+vSVF9yf/9re/mfXWW8+89tprsVPCOSJMqB/VAtcyPDvhQb3KKqvEyrd7oWgOSe3//e9/b6Na6DbcV/ieQESLTpQi7uOq3hed+HtUvU377LOPwV8o6NdNPfXU4WoukwAJkAAJkAAJkEBnEGhFFdjbllOttJ37kkBvE5CckJF8LDsrv6222iqCNj1J3n333UgUeq6s5HtLLZu0f1HrPvzww0ji/rt2yFOsZj6vx50M1kUzzDCDqwdW/hJ+K8J6iOTUiUQJEG2zzTaujB5XQngVdWqshwRIoEACYf9ABkgLrL2cqjbccEP3jJFB/gjPuyKkrHqLaBvrIAGfwK233uruAbxn4ZEk4QYjMRyyxfA+FuV2Yj9AQl/6VcXmZQA+5mk35ZRTRhKuz73nURj9HwlraL1Z9R2PKcrlFTFscucBb7s333wzbxWVKv+b3/wmEsWUO2dwk1CQ0RNPPBHh2St53iL8BmJwVeNJCS/I3pAy+pM4j+222y7GQfIxRqKcij755BN7mn/961+jddZZJ1ZG8iv2Sp8aDSqLgz1Z7x+86pZccsnYeV966aVeic6bbfU+ruJ90Xm/QnEtCvuFnRKpCfeG/86hx11xvzlrIgESIAESIAESyE8g9LiDBXnT0qkdsKZPiDuSQBsJbLHFFu5DQbzNrIKq3uEx8LLpppu6fcR6vV7xwrddffXVkVjGu+PrR86qq64aLb744m59XsVdGG7zkksuSW27WPa74+D4P//5z1PLcgMJkEDvEQj7B1VQ3A0YMMA9X3bffffC4JVVb2ENZEUk8F8Ckq/O3QNQBD3yyCOpbMSTxZXF+3ijjTZKLXvEEUfEykpOrdSy4ikVM+aRPHfRZ599llo+3PDiiy/GlFMS1SAs0lXL6BsutthiMb6SZzj1HCWCQ0yJCr6q1ErdqeANZfUnYeTlKzARNvSll15KbD0Um9qPxbTdfWo0qiwOSScs3uOx84WxYCdLq/dxFe+LTv49imhb2C+k4q4IqqyDBEiABEiABEig2wiEirsp5WOFQgIk0GYCCHt5880326MiRA9CqYmnWd1WfO973zMnnXSSEUt1W27s2LFGrATr7lPURrHaNqIkMwhBpILQVhdccIF56KGHzPzzz6+rc09/+9vfun1ECWgQ0ipNDj30UCN5/txmtItCAiRAAkUQ+Prrr101RYbVK6te11jOkEABBGSg2zz55JOuJlFe1w0fiD4IQsiqSF5Lna2ZiueLW4f+At7laYLt4gXmNuP+kZxlbrnRjCgFXfhx9Jv8uhrtW8XtkvfY/OEPf3BNF4WMDWXuVgQzw4YNM6JIdWvBF2Ez2yVl9ifF8CsWblU8yowYliWeGrZJtAe37cILL3Tz7Zgpk0PY/nvvvdecddZZbjXC8qP/XpQg1CDO59FHH43xb6X+Vu/jqt0XrbDiviRAAiRAAiRAAiRAAt1LIDVJyzvvvGPuu+8+g/jy+Bj/5ptvzNxzz2223nprI1aKufIhnHLKKTYvRhJGDNRrXgHkHcCHhVj42twEkozPzDLLLDYvhYTqMWuttZaRECdGEonbqqDAOOyww2qqhSJBBwnmnHNOI2FTasqIlaORUIV2PXKGrbHGGnYe+W1uuukmVx5KAvGMcstJM+E+yFE2dOjQmqJFcqipvOAV4TmRQw/gojhIOCr3cYv8Gsi9kUXEc8OI1529RnF/IF8F8i+VLRIeK3YISRZvzj//fPtMiG3IuYCBQn9ADnlJ6gk4rbTSSjbXH8ohJw7apsrMevtyGwmQQC0BPOuvvfZa85e//MW8+uqrBoO4iy66qFliiSXMUkstZSSkWMN8bqgDeTh98RXyWD9u3LjUHCLzzjuvEW8df/fUeRg93HHHHbYvgPZ+++23BvtL+GDbR1hkkUVS9/U3iEeK7df468TrxC2iHyFhAt1yOIN8X3h2h1JWveFxuEwCRRN49tln7f2v9eI9X0+gFBs0aJCREJm2GO7NNBGvJ7cJfZZG7+yf/vSnrjxmxOowtpy2gP7ELbfc4jZvv/329vngVnThTKgwPe200xqe5UEHHWSfyfqbTZo0yey///4N9yuiQFn9SbTtzjvvdE2caaaZjIQpdsvhDHIr4vtu/PjxdhOuUfEAsu+SsGwZy2Vy8NsLgzvcB2KJbFcjPyu+o2F8V4RgnGCTTTax7FAfuJ577rkNv53rHbuI+7hK98Xbb79tLr/8cotEwrba3+tXv/qVgTIZ1yTGX9DfwBgMBOMlv/zlL+14CeahnN52221tH8gWaPAP1zoUrfiGxDzy9sJgAnl911xzTSOe1w1qqN1c5LhRWLuEk7V9TPHCNPjDsXCdYQwJbV1xxRU7Kk9jEf3qkAGXSYAESIAESIAE+jCBJJdC5JhAeBHBkviH3C9ivRdlDXkgH+iJ9aD+MWPG2CbIh3bUv3//1HLikWTLPfDAA7EySXkrEK5H24465eOo5jTF2tCVOfzww912uCSKstBtQ8iVZ555xm0PZ2TQMJJBiFh5+QAOi9nlIjkkHqDAleTQA7MsDn6+NoT2ySP33HOPu95uuOGGPLs2Xfaxxx6zx5x11lltrpCwIhngc23KEypTlI+RDLq7P7HWDauuWfbDc8kARIR7kEICJJCPgAzY2lCz9d5LeI/KgEgkA0d1K0dYNn3nNjPFMRoJQrkhpDDCuqUdA/kxhw8fHn3wwQd1q/vPf/6TWkda3eF68ZSuOUZZ9dYciCtIoAQCCGeL/qv+peXc9Q/th9Zcfvnl/U2xeTEGcPecGOjEtiUtTJw40ZXHvYf8bFkE4f/0XhXFYiQGell2q3QZ5K3Tc0autqwixpBuP1HAZt2t5XJl9SeRK045YCpGm3XbKgap0eabbx7bR5QndfcpcmNZHMI2+nniwEUid4RFml5G/3vBBReMMcQxkL9bDGuarreI+7hK9wXC1+q1KwZTEfKF6rI/lUgtEfoZYnBcsx19uYsuuqgu8y+++CLaY489YqGE/fp1XgwnoizfY3qwoseNtF5Mr7rqqkiU8DXnq23FFNegeB37u+WaLyrHXZH96lwnwMIkQAIkQAIkQAJdRQB6CIyVo4+Cb/KaUJl77bWX9VD7/PPPpS+ULLB0QigWeLsUIfCOE0WGtSBrVN9PfvKTmKUurMVCEUWbWwVLNMmX4ZYxI4MTztsOy75l7xxzzBELHyIdZLPDDjvUWOZjP8jpp59u/OOJUsFafvVszfc/D4d8NecvTQ49zMrigHsIInlJYqEfe44qXyFiGYvrAeFnQvHDUqrXaFim6GVYLuM+ePnll1uyog3bhTBbsCbVv8GDB4dFapb9ex6WqVm9FWsq4goS6KME4EEPC3l4nodW/yESWGUvvfTSsRB6YZmyl2Wwyay99trWQ8QPOxkeF8/Nu+66y+A5Isq7cDOXSYAE6hAQpbjtv8J7AX9TTTVVndLGfPnllwZeeip+X1rX6dT3hEU4TslZp5sSp2Kg5NbD8xUewI1EjKCMGDO5Yoi2AU/cbpd3333XnSL6RFnFL+vXkXX/ZsuV1Z+cPHlyrEn1vLjxbQhvcjFAje3TDRz8E4Jn3W233eZWIboMvlOLEnjGwVs/FHy7IDxnM1LUfez/lv613qhNflm/jkb7FbUdkUj22WefxOoQ9hcetX5IYy2IvhxCEKelUHjllVfsNye8IdFXqif4/oTnXZbfsMxxoy233NJ6EvrREJLajWsQ7x/0/3pLqtav7i1OPC4JkAAJkAAJkEB+ArFQmegIokPnCxQX+PjBRzM+tJ9++mlz++2321xXCLWSRRC6BB1RFeznd/R33XXXWEcTA/EISTjbbLPZ8DjobKpMN910BgMAms8B03XXXVc3G4RTUKWIroRiDeEfVPCh4Xdaw8EGhCJEyAmx8rK7IIzE8ccfb44++mitwk7RrqOOOsqtW2aZZQxCeqZJkRzSjlHkenLooVkGBx1gQPiTUPDxhWsJ4UCQ/+7555834unmivm5l0KltCtU8AxC5yEfSG8LFJX+gF4WRV9vt5nHJ4FOI3DiiScasfZ3zUJITLyXYRiDwfiHH37Y3mca/hKDnCeccIKZMGGC28efwTv04IMP9lfZ55d4zbh1e+65p+nXr59b9mfEWtpfrJkfPXq08UNvIi8RQlIjzDbCaaMfIJbmBgo+CN7NyI9zzjnn1NSFFWKZbnM8YaDFF4SeUmMJsFh99dX9zbF5HDeUsuoNj8NlEugEAhhcxrNBpd77GLlrNYQlQvftvPPONkRvkuHN/fffH7t3oWxIKqfH1Sn66WqIgHCA9fLo6T7dMIXCVcX/XtJ1aVO/rJ/rLa18UevL6k+KZWqsifiOTBJ8fyIsu3/+Wq6dipqyOOi54N7cb7/9dNF+R+C9COU28r/hu3yeeeax733cu43ybLuKvJl6hjR///vfvZLZZ4u6j6t2XyghGEhCRo0aZUMRX3/99a6/hmsXfTWEKcZvi2/Is88+24YOxz4IfSuRiYxEHsBiTHbZZZeYwfW0005rDbVhmIXfHqlIoMhWg1D0hTD+g3EfGJkmSVnjRjjWlVdeGTPEwDMdeVeRLgFhXmHwec0115jHH3/cNg19VxiY4rs4ra+ZdA5FrSu6X11Uu1gPCZAACZAACZBAFxAQBZYV+diNZKAqFooA4e/g9h+K5L6LRKEXKysoGobT0npksM3tK1b0bh7hKxGCE+F6fEHYK/EAdKtkAMDtE4ZCEWsrtw1twt+BBx7o9sUMQqHoNvFeim3TBfngieSDxpVDyB2Jl6+bbfhNGTh026eeeupIPIHc9iwzrXLIcoxWy5BDD8GiOWi4t5///Oc1P5FYOrrrCtepfLzUlJHY/raMKK1rtvXGimZDZeZpK55RfmgnsJEPyjxVsCwJkIAQ8N9dYpQTyYBHIhex7nbPIhk4jyQPS2K5pJVhKG0ZrE8q1nCdDP5F4vnj2oFnnwzY1OwnA66RDGK5cngnS96WmnL1Vvj7H3HEEfWK5tpWVr25GsHCJFAQAYT39t/5eBdLDq2GtfvPE+wjeZls6G3Uh/sXodlEoRf54XvFYy7xOyQ8mAxoR3hGoV784TvBFzwLEKITfSb8NQqn6+/b6fNiNOHOG+ee5VsEfVoxhHT7Sa6ojjlN/9rKE3r94osvducDDkm/sSiFI8lPGiun1wymYqhXeQ56AmIUGztPpIFAOGn/fHUe399iXKq7Zp6K8i8SBVBinZInNnM9WrDI+7hK94UfKhO/CdquIgq0CGMV+ltheskll+jmSIyVI4xR6HaELg/FH/dAOVHWRXjuhiIG2pEfphRlkdohScocN0J/EakZ9JzmnHPOSIy3apqBUK1++gSUF8VvTblGK4oIldmOfnWj8+B2EiABEiABEiCB7iAQhsqE55kVdJa1g4QpOvHoyKRJmH8C+yQNpiXt7yus9Jj4WEKHMYtIsmbXVuSX8+XYY49127TuoUOH+kWsIk+3SRiG2DZ/Afn0/I+cZZdd1uXTEgu32HE0B5+/f6P5Vjk0qr+o7eTQQ7IoDvgg0evvgAMOqPmZbrrpJrcd5caOHVtTZuDAgbbMsGHDarb1xopmB1rytPXMM8+McUHeDgoJkEB+An4+WbHAT60ACj0MckvIJPv3yCOPpJYNNxSluEO+LfGccH8Y4EoT5FnRZyum4i2fVjRxfVkKtrLqTTwJriSBAglISPwIyhP8ob+dpPTYYIMNIuQLyyJnnXVWrF/t36/hPBR7EnkgS7WReFq4ex+5b8P8Wh9//LHbjuP86U9/ylRvFQr5eY9xbuI9lZjb2z8XKEh93kl9Ub98O+eb7U/iXabnhG+38Jo8//zzI1wbWgbTI488MvJzwCF3WKdIsxzQfuR/D8/VP++0+dDQNQsLCcdZc0+HRrVZ6kGZIu/jKt0XvuIO125oNC1edu66hfFSeG2jj6a/6eGHH16DGwZauh35B8WrrqaMroAyzM9JiusoyWirzHEjif7k2ot2I89dmkCBiLyAen7Ih4d1eaQIxV07+tV5zollSYAESIAESIAEqksgVNy5UJnyESt9nv8JwmJJ5+5/K4I55AZAGCmEZGhVEI5TBtwMwjZkET+0pYa9lI6u3VXzzSGHgliQ2tj+yMEhP5kLA+LnyPLrCo+92mqr2TjzojCwmxBa5NRTTzWIue6HBRPFoNl3333D3XMv5+UgHVMb1iz3gRJ2EO+E1Hwm5NADrCgOfigehINtJHpt++UQkg2StM0v1y3zCNknA0vudJAbb/z48W6ZMyRAAtkJaDhI7BG++/1a8E7uzZwhaAtybSHnTRZZfvnlY8Vk8NLI4H9sHRdIgASyE0CI/Keeeip1h912282cdNJJRgZ3U8v4GxAiUwaNjfar/W3+PMLzIz9XWog2vyzq09D2WC+RDIwYH/pFunpeDLhsOgBRVtrzRBjkvffe2+bCCr/j8C0E9ggt7Au+6aoufqhMhNLTaxK5yvGN5odOBheEf996663NyJEj3an7dbiVFZxB2GdRwMRajvCKm2++uQ2NKUoGG876jjvuMHrdoDC+cZFaAmEVswq+icWw1dx66602XLUo+G2Ixaz7a7mi7+Oq3hf4LgxDcSOkqQpCi+u1rev8vHzh745lvw+FcJPiyay71kwRlhjPdDHIsNuwP8Jl+mkasCHsOxY5bqTpUHAchLwVrz/MJgq+g0VZaTbbbDO7Hfnw8J0tBlOJ5ctaWaV+dVkMWC8JkAAJkAAJkEA5BHpG/6XusAM2ZMiQhkfMUqZhJVJALB4zK+1QHwbiVMknYTVdPHZsg3INAoWcWE7aeQw8IHa7it8hrKe4Q3nELEceAhXkuUPOMwm7Y1chL4SEoChEgZKXw9VXX21w/CL+Gn2kkUPPFVAEBz9xuFiv66XFaQoB3K8YbMDgCwRKS9xz4Ydtyu5cTQIkEBBAnlgV5AhBrirkh626hIYQYQ67qp8f208CnUZAvJjsIPBpp53WsGkY/MUAcyOlHSpCbmn09fFsaiQYMNbBagw6YxC3LwkGrqGo8Q25oKQaNGiQkfCR5rnnnrN5QPHNAAO0/fff3xozKiMoBWDoWHVJet7j+0+8xmNKO+SMfvDBB63SDuesfUvMJ9WB9VUSnA+MYX3BvYQ8sbgGcE+JR5w5/fTT7X0GJa8vzfQHoExC7jWJENKU0g7HL/o+rup9IR51/s9h5/18fTBMDmWaaaYJV7lljH8gn6EKcoY2Ehhm+8+TpHzqZY4b+QbWyPnutyWp7XjW+ZLUXn97GfPd2q8ugxXrJAESIAESIAESyEfAmchKGAS3JxRB8GhpJBKur1GRhtthAbjTTjs1LOcXwIc5rPskH4ZdjYF9WNe+//77ZvLkyXYdFHK+Ug4KPXxYfPHFFy45M46NDmE9gScaLHklTJD9oINFFTz4VJAU2reE0/V5p81w8D828x4vLN+oLnLoIVY0h0YfI+Hv1NeWJXeDgSW45Lh0py6htozkxnTLnCEBEshHYK+99jISksrtNG7cODuwiXcmBnBXWmkl6+mWNEDkduqlGTwLJA+otSDHPN7p+idhiHupVTwsCXQnAfTzta8Nby30sSVEmvnVr35lvTBw1pKH0kiIPav8P+WUUxJBSI5oIzlqbVktIOHdrAIBx5B8a9bzR0LjGjyPJEyvLYZ59PklHL3uFptKKM+YkgLedvAY6msiYRWNpAowkpvTnToikowePdotp82MGTOmxoMnrWwnr0fUEl+gsAAXX8EAD05cu/N5Hkf+eyOsw6+vKvNQkOOeVIGBoOSmN0nnBoUQ+tR4h1522WV2F3znSg41IzkptYrSp2Xdx1W8Lxp9FzbaHv5YvrcdtsGDrZFAEQiPNXyDQRC9IJQyx43wjlHBfCNjDzXc0H3gRSohg3WxLdMq96vbAogHIQESIAESIAESaJqAU9zhg1wltFrX9eE0a7lwP38ZH09QWuUVDDDqYAIUd+icq7cd6oKiDeE6EE4CHTqE0EQ4D3zIqkhMdANFTCOBJddRRx1VY8ULz7ttt9220e6ZtjfDIW/nvV5DstRFDj0Ei+Tg33f1fp9wW7P7hfV08vKnn35qlXb+xyHCHe25556d3Gy2jQQ6nsD2229v35d+6DCEXn7yySftH04Anq14jyJE0ahRo+qGzm7HCcNDAiGq8Z5HWykkQALlE0D/PGkAFBEibr75ZoNniUagQJg99It9ozm0EGHLoKRTZQLCFN5yyy1m+PDhsROAAg/eUfAA2mqrrcxDDz1kt8ObbK655jJQMIWCKAjqJQUF32GHHRYW6TPL8DSEYgrKOl8Z5QPAd5vvXY3BeTzfu0FwjajA0w7XIcLmqcDg64YbbjAIo+mL5D90i34dbmXFZp544olYi08++eREpZ1fCN53EyZMMMri9ttvb6virsz7uK/fF36UF/zmYchL/zrw51FOFXe+x56W8b9Ds44HZS2nz3QcC8bSvsG0Hr/eFN+P7ZYq9qvbzYjHIwESIAESIAESaI6AU9z5u2dR4vjlW5kfMGBAU7v7AwMaUkHz26H9yHUDizHkyUCYGFXqaVkc1K+jUSPWW2+9GsUdPPiKkmY4QBGZNKDSTJuyelaQQw/dVjj4uQnCD6qsv51+XIcDEFn37/Ry4IL8Cv79uskmm9jQPp3edraPBKpAAN7iGMg85phjnOeM324oxzAAiD8M/CEXztJLL+0Xadv8fvvt19Dium2N4YFIgAQsgREjRpivv/46liMMSrbrr78+Rgj51D766CO3Dl50odLObZQZRPy48cYbbUQMHTiGxx0Md/z+E7YhT5kK8pUV2S/Xeqs03Xjjja1nI/KNITcwPJmgWF1yySXtd9HEiROtgkbPCe+BemH2tFwVpnPOOWesmb7SDgZf8NqBcjcUX8kZ1hGWrcIyos/4stFGG/mLifPwyoO3PRTqEOSba5e04z7uy/dF+DtqjvRwfbictRz2a+e4UdjOTlquUr+6k7ixLSRAAiRAAiRAAvUJJCrusioT/ES89Q+TvrXZMJO+0k1z1qlyDmEgNHcYykFxB2stWIdpWbTIryO9hT05D3bccceaIrBQRO6tRuE2a3ZMWNEMB3gLtjMkECzgyKH168EfGFBL9YRLInEVBsmQu0IVd80ofBMr7qCVUBhgAO6xxx5zrRo6dKi59tprrReQW8kZEiCBlghg8Bx/GNy95557DMLU4Q9hhnzB9iGS9xYhx5LCbflli57HALQfJgkeQPB0h9EKnn8I7Y2ct/369TPokzTzLi26zayPBPoKAdyLxx9/vA1di3PWfrh//ni2qCC/2M4776yLqVPksEU5ePZB3nvvPWvI4xsPQEnoe4JAqQcjgyTxw21jOxSB2hfDfvDU65bBZyjiEDIUf75cfvnlMaXdhhtuaKDQ6BbR39M/HyjqEApyjz328Fe7eVw/H3zwgVvuBo87XxEJDyfcc1kEefBUcYf7BX3xPMqbLMdIKtOu+7iv3hchc4QhzmKsq+GKw/2TlsscN0JYd3iz5ZGFF144T/FCy1ahX13oCbMyEiABEiABEiCB0gk4xZ1vcQnrNwyAIZxNPUH+gFbFt57NUxdCOOADCyF4MJiIHG06YIDwXiqYv+CCC2yOLMRJb0Zxd9xxx8XCNOBDEMeDImvkyJH2uFNNNZUesqlpsxyaOliTO5FDD7hWOeBDGtcLBgw0dJT/k/hJyLEeCmKE94Hgnvvqq6/sPAaZNttsMzvfTf9gGX3bbbe5U0I+S3j7NHoeuR04QwIkkIsAlF0YJNcBdVjbw+MFg+D6jELoMQywpQ2M5zpgjsJ4/qmgnwLFoj94r9sw9Qcs/fWcJwESaEwAnjqq4Orfv7/JGtYMxmuaRwm5kGAk5yvB/PxIafduUutCo7g33ngjdu9j2RfN0eWvS5sfP358bNNBBx3UVNj+WCUdvPDKK6/Ewoxj4P688/6fvbOAm6M4//hABSnuEiQhJSFYcXd3CxJKCRAoEiBIcC8QCNYSKBS3IkVSpHiCBHcCRYu7a4FCoft/fpP/TGbn1u5u5t679/3N53O3s7Ozs898d2Z29Jmz2lji+kXzB+7wvcDED+ytmGegjhUT4ozxwzDunXR0B2Uw+FJ1AM7kfcQVe062YtAOz+rKfNwT8sWMM84IzNagHQmtREUGZbg7gSsrX8TsN8LzzARVtP1WXnnlInHb8lo716vbEhiFIgESIAESIAESyCUwqbnSu3dvY9WVfHczb3vBs7j7xXmXWnJqVsxhptf999+vB/HwYH/gzggDVZpm4A4r8qqo1MEm39C9bwxmfbnnUOVnZgQbP93xSA4T3moIDujQMrN63Q24TbpZYYUVUqqLoO7nmWee0T930A77LvodWyaMTj0ed9xx6uyzz7biY/XsrbfeqjsRrCMtJEACUQmgPoCObKjJdCcSmMkxUR/uBI7OI5R9xmBgsajjP6s8NffySAIkUEwAq+ewzxx+0CZR1bgrM7D6tciYztgiP+aa75eTdwyZ+o6YJIY9A10ND5jQaOqh9YXWvr4xodNdEY76Y9GgHWLiThLDOfZG73TjtufRZjCD6mXxgnYaY4q+s8aPezz//PP16v21115bYe9cdxDQ9ddO9p6SL/r06ZPC/sILL6TOs06wt7hbXgwYMKDGm5vOMDgcst/IlblKuDXCtaFDu9Sr2xANRSIBEiABEiABEighYFfcuRUw3IOZ9VCrkmfQoP7rX/+ad7kl7pgxZhpdUB9ojBnQw7lRm4lVA2PGjFHvvvuu9oZ73RnB5l73aPbu+PHHH7UzZoCBC2YiXnPNNXZfoFNOOUVB5cxyyy3n3t5t7OQw4VWG5IAOBswyzWpAYaY7BpkxgPX111+n0hFmwEI96hprrFFZ1WsqgDY+ueCCC9QRRxxhJZxzzjnVHXfcUVnNj72RFhIggVwCKHOgOhoGq8exV2qegbohqM/ChAWYL774Is9rjTtUObsG5Z27EsC9lmfH89xBAex9VWTGjh1bdJnXSIAECgggv6OeDIPJcFBPmbXSwg0CE+ceffRR65RVt55nnnl0WPD07LPPKqzscwdY7M2eBd9/17h1e7ivueaaqUlOrl/fjhXDN910k3WGOjOjUh/qd7P2PrOeO9xy8MEH2zIfURk8eHC31NaANh32n8YgEszTTz+tt0rIm+CGgRtoczAG9fLFF1/cnHbscdFFF03Jjsmml156acrNP8FK9nHjxllnPwx7IcMyfPjw1P7Td955p1a5iT0Wq2ij6ap83FPyBVZ+oYyDliAYqI6FtqCiPhD0dbhmwQUXdE+1PWa/kbsNCNImBp8xoSTPQAsSVtdishcMVLtXXTGeF2Y97q2qV9cjE/2SAAmQAAmQAAl0IwJSydFGBrYSGZBCjUf/pEKXSKPZXE4dZSArkb0TrF9zj3TMpfzlnYjKA3uv7DuQ563U/a677rLhiMoGbcdRKqepe2XGpb1mZJUBgpSfrJNhw4bZ8HHf9ddfb71J50MiFWF7XVbvJTI7zV6vYgnFocqzmvFDDhPoheQgneU27cgs12ZeT1vcu9FGG9n4yIrXumWSDrVEOs5sGNLBn8hq1rrD4Q0kQALFBERFnM1n+K5Jx2XuDTJxIJE95Kx/2eM0169/QVa32/vwHJSfjRjzbUcYstdlIjO7M4ORlXmJrA5MPVMm9mT6zXOUyQL2/ip1hLxwfPdY4frP4TkJNENA9rey6R/5TSajJTJhqTBIlAnwa35Z+Ub2j7PX4W+VVVZJ0I4oMqIePHWPTMIr8l56TVaQpMITNXCl93QHD7fcckuC9px5P9LZnshqqLaOWjP1yXvuucfGFXGWFXSJDNBlxlcGL1J+ZZV5pr+ucmyGgwy0pOKGvJ1nRKtHIoP2Kf8yCSbPe8pdJvEmMqEwda9Ja6ItI+U3xEmofNxu+UIGOS1DvDvfXHjhhfa6TDrwLyeyxYC9LgOSNdf9tP7nP/+5xo9xkAHvRAZcbXgyeSMzD8XsNxIVtvb5SE9rrbVW4TdDJrqm/D/yyCMmOpWOMgEldb9MXK90n/HUqnq1eR6PJEACJEACJEAC3ZuATKBNZLJrgjqKbGOXTCoVIm2wysfsbwMHwaDWW289vQLmrbfe0n4wWwsz76FrvKtX20EgqDQxOviNCkHsh+XvF2dm6Ro/uNe4wZ5lsO/BqFGj7CWsSsCqOmOwCgGb2RsDFV2YvdfdDDlMeKOhObjqeM4555y2TzYoD7AvQt7PXYmDVYJ5/rB/pm8eeughtfXWW+t9I821Qw89VGGGPFT1lf18dVomDB5JgARqCSCvuXuTQD3elVdeqfOb6xuqkjbbbLOUez2ryjFj2l11h1nee+yxh4KKbTPz2zwPapbyDL7pxqAcxh6YbnmDFfHYqwkzrLEqmoYESKAxAptuuqlaYIEF7M34NiPP33zzzdbNWMaPH69kYEFJh7JxUjLIr6BO3je77rqrmmqqqazzvffeq2QQPrVSz1yEij3UrbEqzDW77babe0p7BQJY2Yj3gfobDFYVXn755V2uejxmfVIGhfW3wOCB9oqBAweqjz76yDjpVdyoY7qr0JA+sXKslSYmhwMOOCAVFTDYd999UyvY8XzkbbRnXXWEWI21+uqrp+7PO8H2E3nfb7NSP+/ernJv13wRkwfSg7vCTiZNq9133z21LzBWT0PTC8p8rEY1BnU3rNjzTcx+I9Tn3DSIVZwrrrhijdpXrMTDFguoFxoDNa9le/gZv6GOrapXh5KX4ZAACZAACZAACXQYAam4W/Pee+8lmFklUaj5yWBYagYW/GDWl+s3b8XdiSeemIiqEvtzZ3JhNr97zdirznaSBkdKBqmc2vgYC2bWuXLC/vHHH5vLNUcZMEhEtY+9Z6aZZsr0j1mcCy+8sPWHWa1YBZhnYnLIe2Yz7uQwgV4MDjIYbmdBY6UrVra0s5FOOpvO/bxUz7moLklFE6tjZeP0psIWlS6pMHlCAiRQTGCXXXapyXOYNS/qsRLZ2ypZaaWVEnzz3bwtA2iJTH4pDti7KvtwpsIw4eFbiXIPq+nwXJkU49058dRfBYQwcB++vViFI/te2WfMNddc1g5/XHE3kSNtJFCFgAzW6fxl8qo5oq6O1Usy6S2ZeeaZU/nM+HG1UvjPEjV8iQyO1NwnA4WJDBgmm2++ebL88ssn00wzTY0flEnNmlArdZqVo1X3Y2UyVqmYd4MjyuN2MLHqkyZuWH3tpzV8b2QgQKdhtw1q+MjkD3N7y46xOey4446p94+4QrMFVnTJ4EZmXhN11Mmnn35amYFsP1HzDMNUVJZWDqeqx2bzcbvmi9gr7sA3rz4mqjT1iktX64l5h+uvv37hq4nVb4SHPvzwwzVaFCAX6nnQWJT1HUJ9UNQ958o8YsSIRPb2rPmJ6uZUOpa9Wmv84D6sbMwzrapX5z2f7iRAAiRAAiRAAt2HgL/iDjMxU0ZmL+nKiqm05R1l5l4iesdTFZ28gbusykxeuMb92GOPTcmVdzJkyJCUDFnqQKDKw4SLo2x6nBecdvcbO7IaIde/zChMqfjDgF+eGpqYHHIFbOICOUyAF4uDrGi16VJml2eqImni9QW9FapT3DzUqB0NLddg2W+jYZn7OHDnEqWdBMoJYMB8//33r5z35p133kRWy5YH7PmAmj1X3ZfJs/4R6qyLDDoAXdXU/v04R0etrMhLddhy4K6IKq+RQDYBdCJjwlpWPstyQyenrMrIDsxxzRu8ywrTuMmeZYnsc+mE0pi12Q7/xp7adXeNHDky9f6g9rRMPWmrpI1Vn3TlxyCyrPhOMTBpyj+iPdsVJjYHqNaRFfWVGICJrFJKoOK6XiN7btc8AxPyZJVjvUGV+m82H7drvmjFwB3g+mqL/bzgnstq3QTqMMtMjH4j80zZP7VSnxTkRn7HRO0is99++9WkVTfOZfYtt9wyN/hW1atzBeAFEiABEiABEiCBbkPAH7ibVCopKSMz2BVUixxyyCFKGu6pazjBZr9HHnmk3ojaV53gn5ub89zN9ayjzIjMcq5x81Ve+ue4QRoQSvags/dm+TEXn3jiCXXRRReZU60eE2oy8wxUHkpF0F5+88031cknn2zPXUtMDu5zQtjJYQLFmBxOOeUUq9b1kksuUeuuu66SRlKI1xc8jEbSbpYQfr6G6hZftW3WfUVufphFfnmNBEhA6TyH8kf2t1Oycl7JHmyZWGQiilZDCXVEeX4yb/x/R6jKvPHGG9Xo0aOVrJpRMgCY6d1V3ZnlQSboKKhK6tevX0rdE/yibIIaa6jlgnolt6xy7Vnh+m6uf9fu+6v33A3LtdcbDv2TQCsIrL322uqFF17QqtSmn3763EdC9eLOO++sVWPvvffeuf7MBVnJq9sXUNMmK6CMc+YR6tqgUlP2v1UyMJjppx5H1DNcVXHN1jvqeXar/coqGHX44Yfbx4I1VGTifbWDCVUGFtX98E2Qfa4KVebhmwYup512Wpdgic1BVh9pdaAyoVUtssgiuXGEituTTjpJq6UfMGBArr+8C9dcc40aNGiQztNIY3iWDKAomaiXd0vD7s3k43bOF25azkoXrptrNyBdNzcsc90coVZS9lXX6mPNViPmGo6yT7DOMzKQqPtCoA6zzMToNzLPXGqppXTd7sADD1R4TpaRVdoK119//XW9xUuWH+NWxMb4KTq6nH1/SJutqFf7z+U5CZAACZAACZBA9ycwCYYk86Ipq2G0PnHZuFphHxlRE6AHwIoqLnlh0Z0ESKCWgKwWSw38omNbVJOoxRdfXInaWDXDDDMo5D90oqETS1aiKlFlUxsQXUiABEigCQLYK1JWAOg97VAOYY+6Kp029T4Se82a/WbRsYhO+awOpLxwsQcW9tfCfizosEFnjju48NNPP9k9nbpz53weH7qTQEgC2I/y/vvvV6+99pqSmX96Pyvkuf79++uBdHT0NmKwFy4mCYqmDoUJbygDRF2Zzs8IH+0NGhIIQeDZZ59VstpTYY9lfBPwXRNVy0pWirXNYGaIeJaFgf3onnzySc0B+Rp722E/sN69e6cGtcvCybuOMPH9dfe2zfNL964ngD4eDHahbEe/DiZq9e3bt676mB+L2P1G2Ivx1VdfVfh+4HuBeioG4OupQ/oyxzxvVb06ZhwYNgmQAAmQAAmQQOsJYE9mTDpFuwXHwoG71ovHJ5JAzyMgqlv07GgMjpeZf/7zn0r2pyjzxuskQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIdQMAfuKtRldkBcaCIJNCtCBx00EF65rnseZdS8+ZHEitTOJPVp8JzEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEug+BLjirvu8S8akGxD44osv1AMPPKBVUn333Xda5Rv2mpx77rkV9makmtpu8JIZBRIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARL4fwL+ijsO3DFpkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkEAXEPAH7qgqswteAh9JAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAj4BDtz5RHhOAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAl1AgAN3XQCdjyQBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABnwAH7nwiPCcBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiCBLiDAgbsugM5HkgAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkIBPgAN3PhGekwAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkEAXEODAXRdA5yNJgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIwCfAgTufCM9JgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIoAsIcOCuC6DzkSRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiTgE+DAnU+E5yRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiTQBQQ4cNcF0PlIEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEvAJcODOJ8JzEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEugCAj/vgmfykSRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAv9P4JNPPlHvvPOOPpt88slV//79yaaHEuDAXQ998Yw2CZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZBAexDYa6+91FVXXaWF6devn3rxxRfbQzBK0TSBq6++OhXGVlttlTr3T1KqMvv27at++ctf6p/vkeckQAIkQAIkQAIkQALFBE477TRbl5p77rmLPfMqCfQAAiNHjrR5wrQzso6mcdoDkDCKJEACJJAiELOcZL0khbolJx9//LG666671B133KGee+459c033zT93B9++EGNHz9e3XzzzWr06NHqkUceUV988UXT4SKAGPLGCjcmhyAwMwKJxTfjUXQigbYk8Omnn+pypi2Fa0OhPvroI13OG9GGDBlirDzmEIhZj8p5ZMucUyvuUKH473//27KH80EkQAIkQAIk0IkEXnrpJTV48GAr+gILLKAuuugie15k+dOf/mRnT8HfsGHD1KBBg4puaftrm222mXr//fdz5Zx00knVPPPMoxZccEE1YMAAtfTSS6tevXrl+u/kC//5z39sXerbb79t66gMHz5c3X///YUyTjfddArpG79VVllFYcYfDQnUQ8DNE0X3ff/990WXeY0ESIAEui2BmOWkG3a710s6+QW//fbb6sADD1R33323+vDDD1NRmWyyydQGG2ygsIJi1VVXTV0rO/n666/VMcccoy655BIF1WmuwSSYjTfeWP3hD3/Q9TT3Wpk9lryxwo3Fwef0xBNPqKFDh1pn1JUHDhxoz6taYnHwnx9KXj9cnpNAswSQZw844AB144032n6CPn36qF122UWXlegfqMfceeed6t///rdCv0N3NxdccIHCJAUYfD923HHH7h7lpuPn1nWKAmuH9qZZYeevvMuVO3HMbLPNlohH/XOcaSUBEiABEiABEnAIPPTQQ/Z7ie/mJJNMkrz55puOj3xr7969U/eOGDEi33OHXHHrD6YeUXT8xS9+key9996JVL47JIbVxTz++OPt+51xxhmr39gFPtdaay0ra9H7MtekgZVIwyF59913u0BaPrJTCchkhWTmmWeu+c0wwwyp9HfxxRd3ahQpNwmQAAk0RSBmOdlJ9ZKmIHbhzaNGjUqmnnrq1DfN1J3cI9oLMniX/Pjjj5Wkff7555P55puvNNwpp5wyufLKKyuFCU+x5I0VbiwOWcA22mgjy1sGRhMZgMvyVugWi0PWQ0PImxUu3UigGQIyaJeIRj+bl9xyEPbf/va3dQU/duzYZIoppkhkVVVd93Wi559++imZd955LbvtttuuE6PRcplj1qNiReZvf/tbgp9vZEJ88sEHHyQyGJnIQGNS3xC35DAaEiABEiABEiCBNAH52CppMKcdM85kwE+9/vrrGVd6lhNW90ujVm266aaqHWY99Sz6jcf2f//7n15ZuuKKK6r33nuv8YB4Z48igFXFUPni/5iGelQyYGRJgAQKCLCcLIDT5pegcUMmoymsLnHNNNNMo2RAzXVSaC+cccYZerVJ6kLGCVTLbbjhhurVV19NXf3Zz36moA3BNVhJuf3226tx48a5zpn2WPLGCjcWhyw4Tz31lLrpppvspZ122qluDSGxOFihHEsIeZ3gaCWBYAROOOEE9corr+jwpppqKrXtttvqVcfmAZdffrlenWzOi44o12SAWn333XdF3rrNtdtuu0298cYbNj677767tdOST6A716M4cJf/3nmFBEiABEiABCoTuOKKK0r9VvFTGkibe1hjjTXUDTfcYH/Yh+PMM89U++yzj5pllllS0o8ZM0YP4KUcedIlBGaffXZ13nnn2d+5556rZDWoVs0B9aauweDzOuusY1WCutdoJwESIAESIAESIIGeQADqEPfdd18bVVlRp/bcc0/11ltvDBD10AAAQABJREFUqS+//FKrdYN6fVldYv3Agn0HsUddkdl///3Va6+9Zr1g32TsBYv90j7//HPdKb7eeuvZ65gUJyszrHo1e8GxxJI3VrgQPQYHB0nKeuyxx9pzqCE95JBD7HkVS0wOWc9vVt6sMOlGAiEIQLUvDNRh3nvv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hKtGy90ui0iTD2b50CTACrdjj9Jx48Yp7B2Nuj6+P5i0IStBUmV8haA62gs5dPTrCyp87HInxvc4Zrulk+qpRQkB/RGysl33baBfAt/UrEkyRWHEuiYrHfWephicrNeIOlDddjD75Z133nlq5513rjeYLvcfup0VOx/HAtYMh6uvvjollmzDkDpH2wyTQfCdx5EDdyk8PMkigNm7hx9+uJJlzlmXU26Yfbjgggum3HhCAiRAAiRAAiRAAiRAAiQQlsD777+vxo4dawNFw69sxilWlT/22GP6nnXWWUfddttt9n5aSIAESIAESIAESIAESIAEwhI45JBDlOxHpwOVPd/Ve++9V0nzUFgpGFo7EKh34K65tf3tEGPKEJ3AQQcdpNZdd12FgmbMmDG5KnYwq7eRmQfRI8AHkAAJkAAJkAAJkAAJkEA3IyD77yhX1R9maA4fPjw3lhdccIEdtIOnRRddNNcvL5AACZAACZAACZAACZAACTRPAJPlsCofBpo7ppxyyuYDZQgdScBfYVcWCa64KyPE6ykCX3zxhXrggQcUZvhiCTNUs0HnMPY/gk7oMr2wqcB4QgIkQAIkQAIkQAIkQAIk0DCBxRdfXO8BagIYNmyYwq93797GSX3++edqxIgRet/SH374Qbtjnw7sHQqVnzQkQAIkQAIkQAIkQAIkQAIkQAJdS4CqMruWP59OAiRAAiRAAiRAAiRAAiRAAkEIXHvttWqbbbbRe264AWJSHSbXofGHCXdmH1Tj55JLLlHbb7+9OeWRBEiABEiABEiABEiABEiABEigCwlw4K4L4fPRJEACJEACJEACJEACJEACJBCSwD333KMGDRqkB+nKwsVg3tFHH62GDh1a5pXXSYAESIAESIAESIAESIAESIAEWkSAA3ctAs3HkAAJkAAJkAAJkAAJkAAJkEArCHz44Yfq3HPPVTfccIMaP368+vHHH+1jZ5llFtW3b1+1+uqrqwMOOEBNM8009hotJEACJEACJEACJEACJEACJEACXU+AA3dd/w4oAQmQAAmQAAmQAAmQAAmQAAlEIQC1mJ999pn6/vvvFfayw4+GBEiABEiABEiABEiABEiABEigfQn4A3c/b19RKRkJkAAJkAAJkAAJkAAJkAAJkEA9BCaZZBI144wz1nML/ZIACZAACZAACZAACZAACZAACbQRgUnbSBaKQgIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAI9lgAH7nrsq2fESYAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAE2okAB+7a6W1QFhIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIggR5LgAN3PfbVM+IkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQALtRIADd+30NigLCZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZBAjyXAgbse++oZcRIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIggXYiwIG7dnoblIUESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESKDHEuDAXY999Yw4CZAACXQegW+++aajhO40eTsKbgcLy3TRwS+PopMACZAACZAACZAACZAACZBAEwTYHmwCHm8lgR5EgAN3PehlM6okQAIk0KkEbr31VrXCCiuoqaaaSvXv31+NGzeuraPSafK2NcxuJNxTTz2lNtpoIzXttNOqXr16qYsvvrgbxY5RIQESIAESIAESIAESIAESIAESyCPAfoI8MnQnARLIIjBJIibrAt1IgARIgARIoB0IfPXVV2r22WdX3377rRVnlllmUR988IGaZJJJrFu7WDpN3nbh1hPkGDBggHrhhRdsVCeddFL19ttvqznmmMO60UICJEACJEACJEACJEACJEACJNC9CLCfoHu9T8aGBGIQMP2c0003ne7v5Iq7GJQZJgmQQGUCI0eOVL/85S9Lf1dddVXlMI3H0047zYY799xzG2ceO4zASy+9lBq0g/gfffSRevPNN9syJp0mb1tC7IZCff/996lBO0Txf//7n3r88ce7YWwZJRIgARIgARIggaoEYraHqspAfyRAAs0RYD5ujl9PuJv9BD3hLTOOJBCWwM/DBsfQSIAESKA+Av/5z3/Uf//739Kb0Oldr3HDdldr1RsO/XctgX79+qmf/exn6qeffrKCTD755HoVnnVoI0unydtG6Lq1KJNNNpnq06ePeu2111Lx7N27d+qcJyRAAiRAAiRAAj2LgNtmKYp5I+2hovB4jQQ6lcATTzyhhg4dasUfPny4GjhwoD3vCgvzcVdQ76xnsp+gs94XpSWBdiDAgbt2eAuUgQR6MAEs/5155plrCGCQ5rPPPqtxp0PPIzDNNNMozGA86KCD9ODdbLPNpk444QSFgZB2NJ0mbzsyzJPpmWeeUWeeeaa+jMFc2HHsFDNq1Ci15ZZbqu+++05NPfXUatiwYWrhhRfuFPEpJwkEIdDp+TgIBAmEHEKRZDgk0PkE2B7q/HfIGLSWwDHHHKMeeeQR/VBo71l22WVbK0DG05iPM6DQKUWA/QQpHDwhARKoQIB73FWARC8kQAKtJ4AZpVhVZczFF1+sBg8ebE4rHUeMGKEOO+ww7XfGGWdUn3zySaX76Kk9CXzxxRd6P7AFFlhA/fzn7T/vpNPkbc+3npbqmmuuUVtttZV1xEraKaaYwp53ggWDdq+88opefferX/2qE0SmjCQQlEB3yMchgJBDCIoMgwS6N4EQ7aHuTYix64kEnnrqKbX44ovbqO+2227q7LPPtuftZmE+brc30vXysJ+g698BJSCBdiXg73HX/j2f7UqScpEACZAACbSUAGYx4tcpptPk7RSunS4nBhq5yq7T3yLlJwESIAESIAESIAES6AoCxx57rH0sVtsdcsgh9pwWEugEAuwn6IS3RBlJoD0ITNoeYlAKEiABEiABEiABEiABEiABEiABEiABEiABEiABEqgl8Oyzz6rrr7/eXthxxx3V3HPPbc9pIQESIAESIIHuRIADd93pbTIuJEACJEACJEACJEACJEACJEACJEACJEACJNDNCGC1XZIkOla/+MUvuNqum71fRocESIAESCBNoFBV5osvvqiuuOIK9a9//Uu9+uqrCvuyDBgwQKt4WnTRRdV6661XaZ+hk046SUGvc5ZZZZVV1Morr6wvQc/v6aefru6991712muvKej1nGmmmVSvXr0UNp9dZ511soLQbi+99JK6++671dNPP60wCwf7H80111xq8803V5tuuqmadNJJFeKD/SRgsKT+oIMO0vayv48//ljdcMMNek8acPjxxx/VPPPMo+add14tE/ZbqmKgd9vssbXZZpuphRZaSFc67rrrLnXVVVfpOH/44Yda7gUXXFCtsMIKCv66yrRK3rfeekvdcccd6rnnntM/nM8888x65tRqq62mBg0apKrsAxRL3ljhxnivN998s3ryySd10EjzUBuBY5m5/PLLdfqDvxlmmEENHTq05haXw+qrr67TZ40nx+Hdd99VF154oXaZZJJJ1D777KOmmmoqx0d7WZH3zj33XCsUypADDzxQ/exnP7NuWZaeWj5ksQjh9tBDD6kxY8aUBoV9zvr161fqL7aHWPK6+S3k9+Kcc85RH330kcay5pprquWWW07997//VTfddJP+ofz96aefFDbOxndol1120XuxlXF05Q1VPuCbffvtt6ce/eijj6bOR40aldoL072I7zS+/600VdODkQnfefAqM7Hem/vcmPUo9zmdYEc98sEHH1T//Oc/dZ3ym2++Ub1791bzzTefWmuttSq9s1bGM5S8nZaPY+WLTuMQK621gm/I75vLoSeXZ276jcXXZd2svRX9BJARdR/UKZ555hn9e+eddxT2v0ZfBL7Dyy+/vJpsssnqjk6odkDdD27whlgc2G804YWESg+dlI/dPjZQmH/++dXWW29dmEL9e1ZccUWFfp8y8/zzz6vrrrvOetthhx10v5x1qGiJ9X2r+Pi6vbnpIVQ7K0uIUPk4K+wYbu2e36q2C6v2a7z99tvq4osv1ijR1430/49//EMhPb/xxhtqzjnnVNtvv73adttttR/0r//xj3/U/euwo//5d7/7XWG/uvueYn0v3GfQTgIkUIGAzFapMVIAJtttt10iHf6YypL7kwpuIgVEzf2+Q1E4w4cP197lA5yInt/cZ5122ml+sPpcBtGS4447LpHZNrn39u/fP7n//vuTSy65JOUnM0DH8bPPPkv23nvvRPajSd3nMpEBiWSDDTZIpNPfuTPbKoWrDUcGCBIZmEyk09S6ueEa+4Ybbpi899572QFGdo0t7//+97/kjDPOSGRQrpCBdCAnF1xwQWlsY8kbK9zSCDXgAXnBpB0cZVC4NBQZkE+mnnpqe98aa6yReY/L4bDDDsv04zrK4IsNE7K88sor7uVS+3/+85/U/VJJKb3H93D88cfbMKRx7l+25yjzZJDC+oW8Bx98sL2eZenp5UMWkxBuRx99dOo9uOnZtf/1r38N8bimw4glr5vfQn4vZPDB8j3qqKOSf//738kyyyxj3VzGsOP7LY3vRAYuClm58oYqH84666xcuXw5s85RR2m1qZoejLx77bVXJRFjvTc8PGY9qlLk2sjT119/ncjElQR1O/OOso7IM+PGjetyyUPL22n5OFa+6DQOsRJiK/iG/L6BA8uzJHHTb2i+MdJazH4CI+9ll12WyMTEwnL917/+dSKTSM0tpcfQ7YC8B4ZoD5mwY3Bgv9EEuqHTQyfl4/fffz+RyfY2f8mk1+Txxx83ya7miHJ6ySWXTPl/4IEHavxlOciEbnsf+v9ef/31LG+lbrG+b3kPbjYfu+khVDvLlTV0PnbDjmHvlPxWtV1YtV9DJp/Y9C8LaZJbb73VnrvtlWuvvTaRibiZfc345p533nmlryXG96L0ofRAAiSgCeC7ivEifDtkEVxSsxQHM++xSk0KDyUDK5L/8w1mI//mN79RmEnQjHnkkUfUb3/7W4VZAPUYyLf22murww8/XK8YyLsXM0cGDhyoV/Dl+fHdpTNErbvuugqz+bHSMM8IVYVVTiuttJLCip2qRjpL9YqlMnaYQYEVA3hOV5rQ8mJFB2atS6elwkz2IvPVV1+pIUOGKOlkLvKWuhZaXhN4rHBN+M0ekY+wus2Yq6++2lhzj7fddptCejcGs3B6kvn88891WsSKT2P2339/dcIJJ5jTmiPLhxokdIhIIFa588MPP+jvPb7BeQbf2b/97W9KJqiUltV5YdA9LIGQ7y1mPSpsrOOH9vLLL+tVpn/+859L61zIM6jDQFtAV5lOkzc2p5D5IrasnRh+LL4hv28sz2pTVki+taG3xqXRfgIj3TbbbKNXGEhHr3HKPELDkEzK0O36TA+OY+x2gPOoYNYYHNhvNOH1xE4P7Z6PZ5ttNvWXv/zFplX082DfOaSPLHPqqacqGdizl6DhBiteywxWUqNNYszgwYO1Bixz3ugx1vetUXlafV9X5ONm4tjT85thh3Q7bNgwc5o6QuvWKaecktlPj7rSoYceqmRAIHWPexLje+GGTzsJkEB9BGpUZaKz+r777rOhQCUmVEoutdRSCpWGe+65R6Gj36ivwmDbiBEjtIote5NnufHGGxUKFmMQHirHxuy2226pggOq6bDEfpZZZlEy0qjQOZFlzj//fAU1k67Bfeuvv76C+kpZqabjAj9QuymzU1yvhXaoB3NVck077bQKS/ih1hPqO9HJLzMV7IAHZIS+7TPPPLMwXHPxD3/4gx2oXGSRRRRUlslMPz34B74PP/yw8arlQCUFBWhXmdDyonI3duzYVHQwQIkB0D59+iioWYT6RndgU1aTafWsyy67bOq+rJPQ8ppnxArXhN/sEepbkUahbhZm9OjROk0WqXs06mPhf8opp1RbbLEFrD3CfPnll3rwHyp2jZFVtrqiY86zjiwfsqiEcYNaJzQAfYNGYJYKV99fq89bIW+scufkk0/Wqp/BDCiiwyUAAEAASURBVGoxoaIGaorx3UX57H6n8e3HN/RPf/pTyxCjA01WvqaeBxVXt9xyi3Xbc889c1Xw4pvaapOXHlw5UFfAN65RE/K9xaxHNRq/rrpv1113VVAVawxUdKNTCBPUMCFGVo0rTIaR2d3aC1TAo97y2GOP6fxj7mvVsVPkbVU+DpkvYrzDVnGIITvCjMU35PeN5Vnt2w/Jtzb0MC6x+gkg3aWXXprq6Ica/D322ENPnoVKcKgWQ3tTNPPoyKCvAwMO2LKjSL1/7HZAGLITQ4nFgf1GExjHTg+dkI/Rf4DJv7JKR0OBCm/RfKNkxdHEhCg29Jm5k7EXW2wxvSVOylPOCcLDoAMM8jIGH0KYWN+3ELK1IowY+Tim3J2U3/LahSH6NV544QWNGQscFl98cb31kunHRxsefe7YA3LffffVKjRF05luy+AmWWGp2/qYmOubWN8L/zk8JwESqIOAvxJRBqfsctuFF15Yq9Hy/eBcRvGtPyyHF327Wd4y3WRgwd4rq9qsXQZsEpm9nHz77bep+6CGUlZdpdxklUxqSb5EOYHKKaj98w2W+Url2z4HfvHLMwhb9sCz/qFiL0slKFRYih5h62/yyScvVCfmLnHH88HtxBNP1GpdXFmkIE+OOOIIGy784r202sSSF0vxp59+ehs/GSxKZC/FzOjJQKj1Bw6rrrpqpj84xpI3Vri5EWnygnRcpJhJB3xuiL6aTFmxl+vX5RBDRYP/4GZVSiC8IlWZMlurRn3A7rvv7otRc87yoQZJSxygVgVlgPlVVSnREuEyHtKsvG5+Q5xDfS9c1TAIF+oyoDIT8roG+U8q+pY3/EKt8aeffup6s3ZX3pjlgwycpGTKk8cK1oYWmXxi49CIqsxQ7y1mPaoNsReKBFXM4Gp+MliXyMzumntkskfiqmmC/6LvZk0AgRxiydtp+ZjlWaAElRNMK/giD4X4vrE8m/gS3Xwciu/E0OPbQvQTQErUD2Qyki3XZ5999kQm5dZEAPUfWfFj/YEZ2g95JlY7IO95zbaHYnGAvOw3SpJY6aET87FM6E/mnntum5egynL8+PE2acugWyrNoO9M9hK214ssMhChvxXIn/jttNNOKe9Q6Y8tZmQCv/6VbWMT6/uWEso5aTYfu+khdDurFfnYQdGUtbvkt0b7CVxVmcgH7tYuUKfnp2t3uyHZ1zW1vRS2pPBNzO+F/yyekwAJ5BPwVWXWjF65+8zJrPDckGRGmv4oiqqgBD9Z4ZPr17/gVsjNx1dm6SToEKlqZJWQrRQgjPXWW6/w1tNPPz3lH/fkGejYlpV79ocCMs/4++bJ7KI8rzUDS2Z/v6wbUJj369fPyiwrULK8RXVzKwjgFUpe2SDVxgvhHnPMMYXxQMUM/vBDBRADLlkmlryxws2KQwg35CN3X0aZlZ8b7N///nfLFnxltWeuX5dD6Apj1kObreAizLyBO1Tu/XJo5513TtCgKDMsH8oIxbneaAU3jjTloTYrr5vfkDdDlb9+hV5mnhdGRjbLTpURsuIu078rb8zygQN3E76FId5bzHpUZiJpY0dMVDP1jMkmmyyRVXW50iJvDxgwwPqXWd91TV7LDbiOC7Hk7bR8zPKsjkTTgNdW8A31fWN5NvEFu/k4FN+Joce3+fVzxKHefgJIKWqPbTmNMDCRN8+g/o/9guAPP+yHl9cmiNUOyJOt2fZQLA6Ql/1GSRIrPXRqPsaEYXef4CWWWMJODpQVPzaPIZ+ddtppecm+xl1Wwtp7Ue969dVXU34++eQTex1hy1Y5qev+Sazvm/8cc95sPnbTQ+h2VivyseHQ7LG75LdG+wncgTvkMyyIcI2ssrP5AItPRA2qe1n325vvnGw3lbqGk5jfi5qH0YEESCCXgD9wV7PHHVT/GIO94fIMVAhhbzfs74GfVLLzvJa6Qy2aDIApqKyoanzZ5MNfeCvUYsw333yFfsxF6NiGDm3zwz56eWbppZdOXXrzzTdT53kn0iCoUR3g+pXZp2rbbbe1TlD16e8FJw0Khf3fQvxcVab2oY4lhLwmOHA1RioKubqZjR+og5LKlf716tVLqzUx1/KOIeV1nxEi3NjvDflok002sWJDXSaW42cZV02mzETVKluz/HUnN6k4az7jxo2z0YI6tHPPPTe1P6C96Fk6pXzwxA52Gjv9BhO0GwUUotzJwgE1UDJxIuuSdRs5cqRWR2Mc/G+vceexdQRCvTf/XYasR4WmEbPckcazru8ZmVFfhNrpPIP6mWhLsJdxP9Rltsp0mryt4hIqX7RK3k57Tiy+ob5vLM+yU1Qovtmht8a1kX4CSObuXY2tNLAPeJ6BOmTpxLSXsR8ettzIMq1oB2Q9t1G3WBwgD/uNlN6bzfQZ4djT+41WX331VN/OE088oVUtQy2tq/4e6vn32WefSslaJlNZFZy4YbvtttNbq1S6uYKnWN+3Co9uCy8h83HM+jpgtaL87ZTvJraVwhZOrpEVr/YUW0ZApaxrZADYnqI94ZuY3wv/WTwnARKoTqBm4A57wxkDne/Y8PKjjz4yTlGORx55pMJAYD3G6PTFPRhw6N+/f+HtKLRkGXihn0YuosB0Td4mvK4f2KHPuyzOfscRBu9cI6riFPbeC/HD4FiRCSGvCd8duMPeiZC/yGBwFHsNmN9CCy1U5F1fCymv+7AQ4bbivUHHvDHQYX333XebU3vEANZNN91kzzFQjA7J7mzM5tNjxoyx0US8L7zwwkqDdvamipauLB8qili3t1ak37qF6uY3hCh3shBh7y6/wu/7w3eob9++1hnlME3XEgj13tqlHlWFZsxyB3vXuZOXsOdwmVljjTVS34xW5otOk7eMZajrofJFKHm6Wzix+Ib6vrE8y05xofhmh94a10b6CSCZqOCzAoIDBueKDPYIck2Icr3RdoArR7P2mBzYb1Tf22k0PYTIxzHrUT4F7Jkmmgms89Gyzx32wDOT0NH3Iyq/S/OkCWDEiBF2T270VbiD7MZPM8dY37dmZGrlvSHzcSvTWRmjrsxvZbKFuC4r6mqCEa1b1g0DkL6RLYp8p9R5zO9F6kE8IQESqItAeghebpX9VvSmzCaUUaNGKdlnTGFT9VVWWUVv5oyZDlkFgbmnniM2zBQVdfXcov3Knnr2HlEpae1Flqr+/DCwou2RRx7RM7JhF1WN9id6gH3vlc4XXHDBUn+YYVhk8lZRFd2Td60srBDymmdjU2Jj/MFJ497sMaS8riwhwi1j7T6vzJ4XFmb7zTrrrEr0u+sgRL1czWo6UYup07F5hjvYZ9y60xEds6L2T916662paGGViezzlXKr56Rdy4d64lCP37w0V08Yxm/IsEyY3fEYotzJ4oIZ6FUM/JnVDLJsv8ot9BORQKj31sp6VLM4QpYVfljuZCLIWYUvGr6yx7GS/SJ01KpqW2iWA+7vNHlDxLlKGFXeG8JheVaFZq2fWHxDfd9YntW+M7iE4psdenzXRvsJIJnsiWUFhF1UfdvzLIu/+kBU8amVVlopy2vKLUY7IPWAJk9icmC/Ue3LiZEeQuRjv+5TK3l1l7KwZO86vUJO9nRWmNSOFV1PPvmkfYCozFTuyiB7IcPy1ltvac1c5hJW21XVomXuKTvG+r6VPbddrofMx2Vpo544VwmrXfNbPfFs1G/ZZJSy61nPjfm9yHoe3UiABKoRqBm422GHHRSWtGOwzhgseX7ooYf0D27o5MaHGConhgwZomQ/EOO17iMGblApr9eIMlB7CwYoqhh/1kXZPXfddZde0g8eYBDSTD311KXBla1+aqQwzntoWVgh5DXPlv0RjVW5y7WtYwBLSHldcUKEW8bafV6ZPS8srDDFSjLZT1AHIXvZKdmANrVc3lWTucgiiyjZ26HscR19HQPuN9xwQ00chg4dqq699toa9zKHdi8fyuRv9HpemmskvJBhNfL8TrknRLmTFdeyySHmHtef++0113lsLQH3fRQ92fWX9d5ct1j1qCL56rkWsqzww8Lqc9dAJXcVA39m4M5dsVfl3mb8dJq8zcS1nnvd9F50n+vPzQNF9/CaUi63Ih6uvyp8Q33f3Gf15PLMfzeh+Prhtuq80X4CyOdqwcGggTtwUEX+L774otBbzHZA4YPrvBiTA/uNJr6MmOkhRD726z4TJa/fViUsrGA96qijalbHYeVdPZOFsXrPpGH0jcn+bvULXHKH+90q8ur6c785Rfd0wrWQ+bhK2qjKpCisds9vVePYbv5MXoNcMb6b7RZfykMCnUKgZuAOgmMWzLrrrqv3vsnatwODWA8++KD+Yf8bdIZjiXkjxlXB1cj9se7Zd999S2fmxXp21XC32WabSjMBq4QXagVllWe5fn75y1+6pz3C3qr3hkqxGbiTDZsVKjhG776vJrOeCnR3e0nXXXedgloHzOCrajqhfKgal3r9tSr91isX/ddPoKhB5IZW1Z97D+3xCFR9H1X9xZM0XMitLHeqrsCu6i8cheyQqspR1V/2U9rftWp6r+qv/WPcWgmrcqvqr7XSt9fTWlmetVfM65eG/QT1M2v1Hew3UqoT2oVdUe5suOGGNQN32HerqsHkKGxnYQwmJddzv7mv7Fj1u1XVX9nz2vF6qHzcinTWCfmtHd8xZSIBEuhcApkDd4jOBhtsoH9Yng6Veg888ID+QW2Ea3B91VVX1Wq03Fkorp8ie9Vl8kVhlM2IM/cavdrmPO84evTo1KAdVgRiYAPqMtCAgF5u7E+HjWyx9D9EHPJkKXKHGoLQqgKKnhfqmtt51Kiq0VCydEU4rXpv0IeP/QCNrmqssDMDd66aTMxeQ0U4tAm9SjWUfMOHD1dbb721Wm655ay+/D333FOrAq6yArRTyodQvPxwWpV+/efyPDwBdzPyotCr+isKw7/WruWDL2c7nld9H1X9IY6h61GhubWy3IFWgCqTmVztAaHjW094XSlvO+Xjqum9qr963kE7cahH7nr8VuVW1V89z67XL8uzeom1r/9Qbewdd9xRYVVJPaZ///6Z3ju5HRCSgwuH/UYT1bCy32hCysDKnZ122slNJtp+6qmn6q0r0E9RZjAB2dVoAI1CWDSQZaAy0TXYCmP22WfXTrgPK/XyBt6qfreq+nPl6Cp7I/WSEPk4dn29k8vfrkoLjT431veiUXl4Hwn0ZAK5A3cGCirMv//97/UPbq+//rrCfln4aH7++efa25dffqlX9uR9SE1YWUd8SBsxrsoAyFTFuDp7i/yjQmEM9jHBoGXeisKeOPBk2DR6nGOOOWzaeeONNxoNhvdVIIAB54MOOkj7hLrMs88+W6vLdNVkrrHGGgrvpB5TpcPSf7ftoFICG9wfc8wxOqrY2Proo4/WdpRhqJzceeeduZV6w4flgyHBY6cTeO211ypFwZ2wg0krZaZTy4eyeLXL9VDvLWY9ql1YVZHD39z9lVdeUUsvvXThrfieufnCdA4V3hToYqvk7bR8HCpf+K+p0zj48oc6j8U3lHwsz0KRbK9wGu0nQCxQLkPjCAy29Vh55ZW1vdm/TmsHxOKQxZH9Ruw3Muni2GOPTamnxURh7FmGAb3tt99eb81TpnnJ70u46KKLTPClx3PPPTflB/0hedvztPv3LRUROYldL4mdj/341HPeaeVvPXFrB7+t/F60Q3wpAwl0CoFJ6xW0d+/eeiAAqjKnmGIKezv2gWulgRzG4GNb5QP2zDPPmFtyj+iMcf1h0DJv0A6BVB0MzH1gD7zQp08fG+uXXnrJ2vMseLeYXWN+Vd51Xlg9zR37UJoVjhhkHjt2rGpUTSZmUBmDlbZl5rnnnkt5yZvllvIU8QQrKMygHR6DmXdLLrmkfSLYuHt72guOheWDA4PWjifw4osvVoqDW07369cv855OLx9MpM4//3ytbQCrk1Ee+DN4jb+uPIZ6b7HqUV3JppFnu3US3P/CCy+UBvP2228rV4vDgAEDSu8J5SGmvJ2cj0PlC7ynTubgprOQ5VlIvq6Moewsz0KR7D7huGVl1fRbFvtObAfE4FDGyVxnv5EhMeHYU/qNsNUO9qYzBqtd3XNoA8Jk2nYxVcuHKu2hWHHqynpJu+TjTix/Y6WHWOF25fciVpwYLgl0BwKp5W7orDAbN2NWDHQU5xmoj4AaPrMHXlW1JHnh1evuFio//vijOvHEE9Vxxx2XG8z999+vxo0bl3vdXEA83IGhsg3O0dlPUx8BV70nBknvvfderaYwL5SrrrpK7bLLLvYyKld5ncfWEy2awJxzzqmwog4ryWCwWva7775TX3/9tT6HutfNNttM28v+kOdMg2P8+PEKKhjMoKB/L1bj4r25BpWtrjT+wCFm8V566aUKm2djMBMGs/HQYZ+Xvlg+dOUb5LNDE3j++efV3XffrVZbbbXcoFFmfPTRR/Z6nuqoVpUPbsMVQmE2bhW1hjYCBRao0XVncqLcxB6Yt99+uyqbFVwQbPBLod5brHpU8AhHDhAzizEL22zIfvrpp+vZ4P43wxXD7B9r3BZccEFjjX6MKW8n5+NQ+QIvsJM5mAQYujwLydfIGPLI8iwkze4RltvehPYcdLrn1e8RY6wGwiRR017BViCzzDJLCkYntgNicAAU9htNUDPOfqNUFtH9DFhRh/45GKzgQZ0Jq6Kh8cf0HZ5yyilqk0020VtXpEOYeLbmmmsqaL+qYqA956abbrJeofZx+umn1+eo46FvM8+0+/cNcseql3RSPu7E8jcvzbWre6zvRbvGl3KRQKcQmNQVFINb2223nf4NGjRI3Xjjje7llB2VlJdfftm6LbrootbeCstGG22UGjRAZ9t9992X+ej3339f7bHHHpnXfEd84N0Kwh133GEr8L7fZ599Vh1//PG+M89LCGy88cYpH4cccoj69ttvU27mBB3G7gwtbEhc1Ogy9/E4kQDUZRpz/fXXqyuuuMKcqs0331zv12gdCizuhxyrXC+//PJM3xjQ22effdSHH36Yeb2dHBdYYIFU+sKgJniZxoYvK8sHnwjPO50A8qoZyPfjAhVTRtWuuYaB7izTqvLBfQ7kwOB7CIMVyf5gDMK955571F133RXiEUHDCPHeYtWjgka0BYFhEgfqvMY89dRTWq20OfePmLhy1llnWWd0SqFu0ioTU143f8X8zrvPAbdQ+ThEvoA8rnydyCFWeRaKLxiHNizPQhPt/PCQJozBxIy99tpLD84ZN/943nnn6b23sA82fr6aPvjvxHZADA5gwX6jzkwPeHcxDfp13BVs2KZjuumm0wNnF154oVVXiYHywYMH5/YBQcbdd99dXXbZZZV+br0M944aNcreh+fmTTaGX5h2/r5Bvlj1kk7Kx51Y/uLddZKJ9b3oJAaUlQTakUBq4A6VVHfQCh3YV155pcIMFtdARRBW6bjuyy23nOslun3++edXm266qX0OVsxg1cDBBx+sZ/JgIAgDixdccIFaZJFFFAbZqpollljCesVqhD333FNhhocx6NRH5QAz8dDRT1MfAbwnd4XHQw89pPeTwQwsdyPdW265RTNGp4kxW2yxhbHyWJGAOzj32Wef6dlu5lZ3UM+45R1XWGGF1KVdd91VnXHGGTYPoFH86KOPqhVXXDFYJ1zqgZFOhg0bptOZCR7pcMSIEea05sjyoQYJHTqYAFY9Qx00Vo+bFUfYfB2zVvHtdDuukLfXWWedzNi2qnxAw9VddYfVUZiYg9myRn4joPs9MW55R6j2zfNvZgfn3dsV7iHeW8x6VFcwaeaZBxxwQGp/06FDh+oOI3cfY9Qz0QGF+u4PP/xgH4c0mLdvivUU2BJL3k7PxyHyBV5Vp3OIVZ6F4hs4O+jgWJ7FoNrZYaKdvvrqq9tIYBU96jGuujtcxDm09qC9bwzqRXl7nXZaOyAWB/YbTUgtnZYeTBqPcUS/GQbMjIH2LqyqMwbaurBVhTHQ5IO+u3Yw7fx9A59Y9ZJOysfgwPwGCvFMrO9FPIkZMgn0EAKiDiJlRCUh9NmlfjJDJZEVdclWW22VrLTSSonM9k1dlwI0kYGyVDjuiaixTBZbbDH7E5VT9v5pp53Wurt+Lr74YjeITLvM5klmnnlmG5Yvt38um1Kn/GYGKo6iGivlD+HIgGay8MILJ9IwTGSDa3t9rrnmsnb4+/vf/54XbOL6lUpLrj9zYcyYMamwX3nlFXOpJceY8spgXSKdr6n4Gc6yCiqZZpppaq4hfcieMrlxjyVvrHBzIxLhgqisqOEpajQTme1W+Wnwi3LAz1eiTiyZY445Ejdfw4/sr5fym5d+ZZBM348w3N9ss82Wuv9Xv/pV6rrxKw3t3DjIilgbxowzzpjrTwYnUmkOZdzjjz+e6Z/lQyaWYI556UFWtdh3ifTVSHoIJqQTUCx5Y5U7sk+B5bjsssumymHkYVz3v/HgjXqA7GXrxDxtjVU+pJ8y4eyoo46ycXDLI5RFoopHf68hr3QWZN2e6fbuu+9mhonwZZ+ozHsadQR3I7esAKgUTKz3FqseVSlSbeYpL12JaspEVMQmombJvjfz/tZff/0ui0UMeTstH8fKF53GwU+EocqzWHxjfd9Ynk1ICbH4+uks1HmsfgLI9/DDDydTTDFFTdkNRugXyOpHQDsfbfA8E6sdkFefDNEeisEBfNhvxH4jk09kQn8yzzzz2Lw200wzJR9//LG5bI8y8Un3qZl6FOruotnCXm/UIgsL7LMR9quvvloYVKzvW6x8HLNeEiMfF8Jv4mKs8jfWdzMvPTTaryHbN9h0Lmr6a0jK6lJ7XdTF1lxHv5nJezJoXnMdDrG+F5kPoyMJkEAmAdEamXzwwQeJTBxOZFJ9AjWQKSMz1pP999/fZmiTsfOO8847b/LOO++kwvBPsj4GeeEZ92OPPdYPJvNcZsdkVrpNOOYoy98TmSmdildmgP/viI46mUGd8m/CMkfZHyyRmUUJjsaNA3cTB33zBmoMd3wU/I+W4egfZZVF8uabb5pbM4+xPrixws2MRCRHmWVq06hhe+CBB9b9NFGnkIi6i5qwTJjmKKthE9l4OuUvLz3st99+KX8mjKrHLbfcMjceVQfuEIBb0cGzMYAsK2ozw2b5kIkliGPM9BBEQC+QWPLGKnfchqqooNGDUmV5DRNsZPW9F/Pa0xjlQ+1TEp0vRZVHabkhqwOzbs91k/1Aa8LEgL+obM69p5ELzQ7chX5vsepRjbDp6nswqaosP5jrO+ywQyL7uXapyDHk7aR8zPIsP/mFKM9i8Y31fQMNlmdJx00UjdlPgDQh2kD0xD9TdhcdMalUNL7gtkITox0Qqz5pIhKDA/uNJtCNkR5ilpMmTYQ87rjjjqn6U1G7QTRZpCZDYcDvq6++akqcZgbuQtarY+bjWPWzGPm4qZdZcnMn5bfQ6aEVA3fAH+N7UfJaeZkESMAh4A/cpVRlSkVWYe8MbBZ7ww03KGzqKqty4Fxj5AOr1UVCvUSeH3NTIyqEZOa/ub3wKKvgtErMkSNHKpkVnfKLTWjXWmstvVcf9q7x1WilPHsnQ4YMUVCpgf3UZCZQ6irig2X/UJ+F5cRu/Fx76iY5ca+5dt+fOff9+OfGX6yj+zzXnvc8349/7t+3zDLLaIb77ruv6tu3r39Zn2PvGKhcgBo0//36N7jPc+2+P3Pu+/HPs/zl+TF+cfT9+Oeu31bZoSrGz6f1qMk0ckJNgwzIqQ033DBzk2cZyFennXaaktlQSga0zW36mMehal5PBeac5IULL+411+7cbq3S4FDu/ovYrPnMM8+0110LyweXRlh7zPQQVtIJocWS102vrj0vDr4f/zzvPqRl7Ge73nrr1ez/gD0pkCegPgbqbspMjPIh65lQlQmZR48erfejQbmTZVzV31nXfbdrrrlG73Umq/Z0+QZVoVDZLDPyfa9NneftKVhPoCHfW6x6VD3xaRe/UJeGPe4GDhxYkx8go6zc0OrTpOGsLrroIr1vS1fKHkPeTs7HIfNFJ3NAmoxRnoXi636fXHteXvL9+OfufSzP6qv7gp3P0z93+cawN/K8eupeSy21lG5vyoRFBZWqWUY0vShcf/3113V9KMuP64a8ELqfoJ44ubIYexnHGBzYbzSBfoz04L5P127et3/0/fjnvv+Q56KRQ9eJTJjoJytqNyy55JJKBjSMdyWTs9XJJ59szxuxIC26fXY4r8eE+r7FzMex6iUx8nE97Ov120n5LXR6cMPLyuOum2s3jF03Nyxz3RxjfC9M2DySAAnUT2ASDOqV3fbJJ5+op59+Wu9phw4y7DGDDr12NOgQExUxStSoKVGllxpc2HvvvfWeXJB71llnVbL0sFIUZAaQGj9+vML+JqjYo9KPzVGNkaXrWLmoT+utJJgweFR6I2PsS4h9A3v16qU5h+4wJedwBLAPFgbu8c4wSIfBfAx0l23+HE6C9giJ5UN7vAdKUY1Anz59dMcUfGPTd3czd+xfizyNvD1gwAAlqy2qBZrhq9XlA/a1xQ9G1FzpOkCjZREm+eC77u6llxHFhpywjx4GBo2ssipYHXrooaVhteq9QZAY9ajSCLahB6RhdOJin100dPGNwySjRtNV7CjGkLfd83Gr8kW7cyhKW82UZ63iWyR/s9dYnjVLsPvdLypVlajR0986UUOp+zUwubHRsr1T2wGhOZiUwn4j9huZtNDOx07/vsWul3RKPu7U8red80aWbLG+F1nPohsJkIDSY1WYjIJxNxwrTUURHdVqzTXXbCt+snRQjR071sok++8pzBpAh5jsRWLdXYuoZrSn2HS6qsFgneztl+sdK/tomieA95b37poPnSGEJoDOcaxIwa8nG5YPPfntd6+4i1oehV8I0+ryAavr6l1hlxdPDNK4MxLz/DXijhnFZtAO94f45jX63lpZj2qEVVffgzTcSfWSGPJ2cj5uNF9kpbtO5hCrPAvJN4t5vW4sz+ol1nP9hy7XO7UdEJqDSVHsN2K/kUkLnXpst+9bFsfY9ZJ2zMdZHDq1/M2KSzu7xfpetHOcKRsJtBOBSgN37SSwkQUrA1xVf1g9N3z4cHO55njBBRdoNRnmwqKLLmqsPJIACZAACZAACZBA0wQuvfRSrZYbg4iYTIQZ/F9++aWSffLUTTfdpGR/CvsMTPqpZxKRvTGQhfWoQCAZDAmQQJcTYHnW5a+AApBA2xJg+dC2r4aCkQAJkAAJkAAJlBDo2IG7pZdeWi222GJ6LxLE8YADDlDvvPOOGjZsWEq91+eff65GjBih90kzLLAq7/e//7055ZEESIAESIAESIAEmiYAldwYqKtijjzySAVVPV1lWI/qKvJ8LgmQQGgCLM9CE2V4JNB9CLB86D7vkjEhARIgARIggZ5GYNJOjjD2hXHVVJ5++um6Ewz7kCyxxBIK+upnnHFGdcopp6gffvjBRvXMM8/U+uytAy0kQAIkQAIkQAIk0AIC2BN0v/32U4cddlgLnlb8CNajivnwKgmQQOcQYHnWOe+KkpJAqwmwfGg1cT6PBEiABEiABEggBIGOXXGHyA8cOFCNGTNGDRo0SG/eZ4C89dZbCj/f/F97ZwJ2NXH18UGsQquIgoj7UhRFxbovuFTUuqDWBdxFKe4bWsSlKtKqKC3SIlRbFbVa0Vq1oq0r7mtdENy1uOCCQClWrSgozXf+4zfTSW5yk/e9mXuT9/7nee7NZDKZzPxmMknmzJwDXc0jRoxQAwcOjB7iPgmQAAmQAAmQAAnURGCfffbRajFhx+6bb75RixYtUh07dlTdu3dXK664op40dOihh6plllmmpuvkdTLfo/IiyXRIgAQaTYD9WaNrgNcngeISYP9Q3LphzkiABEiABEiABJIJtAvEJR8ux5HZs2erK6+8Uk2aNElNmzZND5aZnHfr1k316NFD9e3bV6vThAFTOhIgARIgARJoRgITJ05Uc+fO1UXHyvQ+ffo0I4bSldl3vfE9qnRNghkWAr7vi2aHXFa+7M+aveWy/CSQTID9QzKbZjpS1udbM9URy0oCJEACzUpg1qxZql27dqpz58562yYEd25lQg45b948tWDBAgVbdvjRkQAJkAAJkAAJkAAJpBPge1Q6I8YgARIoBwH2Z+WoJ+aSBBpBgP1DI6jzmiRAAiRAAiRAAtUItHnBXbXC8xgJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJFIVAVHC3WFEyxnyQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQDMToOCumWufZScBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEigMAQruClMVzAgJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkEAzE6Dgrplrn2UnARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIoDAEK7gpTFcwICZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZBAMxOg4K6Za59lJwESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESKAwBCu4KUxXMCAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQDMToOCumWufZc+FwBdffJFLOmVPhBzKXoPlyD/bWTnqibkkARIgARIgARIgARIgARIgARIgARIgARIgARJoHQEK7lrHjWeRgLrnnntUnz591FJLLaXWXXdd9dhjjzUlFXJoymqve6HZzuqOvJQXnDt3rpo6dar+vfHGG6UsAzNNAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiTQ3ATaBeKaGwFLTwItJ/DZZ5+pFVdcUc2fP9+e3K1bNzVr1izVrl07G9bWPeTQ1mu4GOVjOytGPZQhFwcffLC6+eabdVZ79uypKLwrQ60xjyRAAiRAAiRAAiRAAiRAAiRAAiRAAiTQ3ASMXKFz585avlDqFXc9evRQSyyxhP7dcMMNzV2zLH1dCbz55pshoR0uPmfOHDVjxoy65qPRFyOHxtXAnXfeafu/JZdcUs2cObNxmfF85bbUzpqp3jw3i4rk0QfffvvtNnzw4MHWT088gVGjRtl+xLxPxW2NMDQ+FYaSAAmQQNsl4LOfHDNmjO2DV1tttbYLkSUjARIgARIgARIgARIgARJoMYHFW3xGgU6AraOvv/5a5+irr74qUM6YlbZOACs52rdvrxYtWmSL2qFDB70KzwY0gYccGlfJCxYssP0fcmH6wsblyN+V21I7a6Z689ci4lOeMGGCWrhwoT4IYfagQYPiIzLUEsC7U5a+A+2WjgRIgASakYDPftJN29Xi0YycWWYSIAESIAESIAESIAESIIEwgVKvuAsXhXskUD8CnTp1UpiBC+EdXPfu3dUVV1yhMFjcTI4cmqm2G1dWtrPGsS/Llf/73/+qK6+80mZ3wIABqmvXrnafnngCUL+w/PLLV/yWW265+BMYSgIkQAJNRoD9ZJNVOItLAiRAAiRAAiRAAiRAAgUhUOoVdwVhyGw0KYGhQ4cqqGL74IMP1HrrracWX7w5bydyaNIboM7FZjurM/CSXe7ee+9V7733ns318ccfb/30JBMYMmSIwi/qsMIOq8jpSIAESKDZCbCfbPYWwPKTAAmQAAmQAAmQAAmQQGMINKekoTGsedU2SACzcPFrdkcOzd4C6lN+trP6cC7jVbDi2bjevXurbbbZxuxySwIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAKlIkBVmaWqLmaWBEiABEiABEjAJTBjxgx199132yCutrMo6CEBEiABEiABEiABEiABEiABEiABEiABEighAa64a0GlQXXUCy+8oL755hvVp08fa9+sBUkwKgmQAAmQAAm0mgCfQ5XoYNsONu7gll56aXXYYYdVRmIICZAACZAACZAACZAACZAACZAACZAACZAACZSEQEhwN2XKFPW3v/2tVVnfcMMN1T777JPp3DfeeENNnDhR/eMf/1Bvv/22+vLLL1WvXr0U0thoo43U7rvvXpO9sEcffVTdfPPN6p133lFz5sxRq6yyilp//fW1sG2vvfbKlMdopBdffFHtt99+1oZOly5d1G9/+1t14IEHRqPWff/3v/+9LicuvPPOO6utt95aff311+quu+7Sv/fff18tWrRIderUSXM4+uij1VprrdXifILlfffdp1566SX9+/DDDxU47LDDDqpv375aNdmSSy6Zmu4vf/lLhcHnOIe0tt9+e33o3//+txo7dqxCfaIuZ82apbp27arr8+c//7nadddddTzYmLvuuuu0f9VVV1VHHnmk+utf/6rABTaPVl55ZTVw4EB1yCGH2HR//etf63RxjQ022EAdfvjhNj0dyfl7+umn1eTJk52QeO8BBxygevbsGX8wQ6iv+yKvdOvF4eWXX1ZPPfWUeuWVVxT8X3zxhVpzzTXV97//fbXLLrvotpYBp4LqvLlz5+qo++67r67nIAjUQw89ZPuH2bNnK7QZ0z8gXhEc7q0HHnhAod+ZNm2avp/RjtGG995775omDeR1H/viW692lhcHt734rDdcp8jPIZdDPf141k2YMMFeEkK7pZZayu4nefJ+DiVdx0c7w7X++c9/qkmTJqnp06fr9yhMKFp99dXVGmusoZ9lsLtaJOeLQ17Pt3q0hzfffFM9/PDDaurUqfrZBru4eP7g3RLvz4sttphCef785z/rqltiiSXUmWeemaka82oPvvr1TIVoRaR65Rfv0ffff7969dVX9Q/7yy+/vFpttdXUjjvuqA4++GD1ve99L7UEvvLrK93UArUiAr4z8b0JhzZ/9tln621aUjfeeKP+FkC85ZZbTp144okVp7gc8F2CSZbV3EcffaSuueYaHaVdu3bq1FNPzfT8qJamz2N4Z8VEFePQh5xxxhmp74TN2j8YTtySAAmQAAmQAAmQAAmQQGkJyEC2dZdeemkgBWnVTwa8bTpJHvlwCGRQLZAPtarXENs0gQhckpKx4d27d7fpyIdMIANDwXbbbWfD4soig96BCIBsGlk8MiAWrL322hXpipAqEMFjliS8xhGhhs3b+eefH/znP/8JttxySxsW5QD+InAMRCCSOV833HBDIB/KiWniGmAkgxqpaVar/9NPP12ff9tttwVizyrxemPGjLHXEWGijSeC3+Cee+6x+27Zb7311kAEmIEINiuOI09XXXWVTdP1jBgxoiK+m67x//GPf3RPy+zP+74wF847Xd8cPv/880AGYgIZPKnKG237scceM8VM3MqAqE0H/QPu+7i6N/WH7Z577hnMnDkzMc16HPjDH/4QiJDd5t3NH/wyESGQAcTglltuCcXJ0mfmeR/74uu7naEO8+Rg2oTPesM1iv4cMhzqvf3Tn/4Uug9E0J0pC3k/h+Iu6qOdzZs3LzjllFOCjh07hsrt9hPoQ/v16xfIIG9ctjKFffXVV6H0ZXJMpvPiIvngkPfzzWd7wL174YUXBt/5zndCTN06W3fddYMnnngiQD/ihsfxdMPybg+++nU3z3n6fedXVvIG48aNC0QoF6oXt47gxzNbJhCkFs1Xfn2lm1qgVkTAveDyk8lUqanIBM9AVlPb83baaafYc1wO55xzTmwcN1Am5dk0kSeZCOEeTvXn0U9edNFFNg8yGTLxmujzZJKZjYv8nnXWWYnxcaDZ+4eqcHiQBEiABEiABEiABEiABApI4OOPP9bj1/jWkEVPgXLz6FNwt3DhwlShmvshB6GNrLpxs1fhdwV3soIq6NGjR+iDxk3P9W+++eYBPsazOllhlpiuzO7Mmoy3eK7gTmauBj/60Y8S8+ty+OEPf6iFfGkZg5DPPa+aX1Y6BLLarWqSaQNkzzzzTNChQ4eq10wS3Mkqg2CdddaJPReCxVGjRsUeQ5lk9nSAwYGo8ylI8HFfIP8+0vXJQVYiBDJzPbFuom0OQnMIbKs5dwAH7UVW7GVKf4sttmhR/1AtDy09dtJJJ2XKIwZ3Ro8eHYqbJrjL+z72xddnO0N95M0BafqsN6QPV/Tn0Le5rP8/nmOmf5DVFZkzkPdzKHphH+3ss88+C9A/mfKmbfEsbOlEJVOOPAakkZYPDj6eb77aAyYLycqfTHWGd9roO4qpj7itj/bgq1+Py38eYT7zC4ErBERp95l7fPjw4VWL5Su/vtKtWphWHnz33XdDE7SOO+641JT+8pe/hOohaSKBy6EtCe4ggPvBD34QYjB06NCq3Ng/VMXDgyRAAiRAAiRAAiRAAiRQSAJRwV1IVSbUFEIFYRZ3/fXXa/VMJq4Ii4w3dnvxxRerxx9/3B6DSkyoABIhmpIVYuqRRx5R9957r1bFiEhQYThy5Eit6tGeVMVzwQUXKPmw0TGg9k4+tpUIarR6Rai3ee655+zZ8EOVJlTbZHFQ5ZnkPvnkk6RDDQn/1a9+pW3w4eLgABU+UOcjFa8efPBBrZ7UZAzM5cNW/eY3vzFBFVvUs6xosOFQy3LCCSdo9TNQvSnCAgX1NTJTXMdBXQ4aNEirs0lSV3bnnXcqGXizaaIdQG2qcfIRr2TQ0OxqFTAyAKm6deumy/HWW2/ZY1HP66+/roMGDx6sNtlkE13Ppt3hGriWzHpXp512mlahKTOptaoxnCSzWTUjWakQShbqE2VALRSGHagfjVPVUxGxSoCv+8JHuj45HHvssQqqp4yDyqkjjjhCyUCFgvoiqIOTFWZKBnx0FKhahWox3Mto52nuF7/4he5TEK93795apSz6B6gdQr8jwmKbxLPPPqvb/EEHHWTD6uGBikio33Ud2h3KCTXCn376qS7vHXfcof71r39lVqGG9Hzcx24+8+Trs5354OCz3lzGZXoOufn26Ud/j+eYcXh2ZHU+n0M+2hnKBTXX6J+MW2aZZdS2226r1UtDjTTU+MnKcSWrl3UUPCvxbjR+/HhzSl23vjj4eL75ag9XX321Vs/sgsf7zB577KGgzlRWeOt3Y6hwhjpwvJNldb7bQ579etYy1RIv7/z+7ne/0++Ebp7wPBbNHlrdPNQs4v0XzwDjZDWZVve/1VZbmaDEbd75NRfyla5Jv9Yt1PlCJT7U4MPdfvvtuo9q3759YtJGfSwifPe731X7779/Yty2dgDvfvjGhopd42TVtZLJW2Y3dsv+IRYLA0mABEiABEiABEiABEigXARaI14UAVAgH1h25p/YD0tNRgaXbHwZhE5c6YUVY0JQ/3ANsV+WmLa74g7nID5UjojNm9A5mPGMmZcmXWyhMi+rw+zuJDU5Yq8kazLe4rkr7lA2zByHykzMFnYdZtCLwCrEAeUSIYAbzfoRjlVohtuKK64YyKChPW48uI7YWLDxEB/1kNXJB7w9d7fddrN+scOnVQLOnz8/lBTUf2EmqXGuqkxc21Udg2WlUT6uOiOxSRVSX3X55ZebZFO3KLdhg21rVGX6uC+QcV/pxkGplQNmTrscMasYK/CiTgYvAhG2h+Ieeuih0Wh23515jfTRP1xyySUV9wX6h/POOy+ULvjV02EFMFYCuxzEHmcA1UhRJ7bvgmjfh/OSVtz5uo/rzbfWduaDg896i9Z70Z9D0fzWYx8qI809I4KrAM+41rpan0Pmuj7aGdKWSUKB2Dyz5cWq27h7Hqp+xR6mjYfV6y1Ri23KUeuKO18ckL96PN/yaA+oM7RL00axPfnkk2NX9kOdKDQWuHHhT3K+2kO9+/Wk8mUN95VfPHuXXXZZWx8iLArENndstkQwbuOhzrAKOMn5yq+vdJPKUWu4CLRDzPBdmeSiajKzvve1hRV3UCEfVfF+/PHHJ6Gy4ewfLAp6SIAESIAESIAESIAESKBUBKIr7pJHBRKKNWPGjNBABAbZo4KVuFNde2UyAzwuig6DfTaZiRzssssu+iczMhPjRgevjX20uBMw6AsbImZQBIMpLXE33XRTSLUL0pEVQS1JwlvcqGBKVsRVvdYBBxxgOaAcsuIuNr6s/gnFw8BSksMANuzLGb6wh5dVHak7QGbOl9m0AQQ1WZwruINtn6iwQ1bZ2XxhsDMq2EVbM9c999xzs1xSx6lVkIBEfNwXPtPVBY/81coBgnzDHyowZVVd5Ar/28W1evXqZePLCtBE4X50ICutf+jZs6dNF31LPZ2sBrXXBgsIrasJIe6+++5QfJwTN4iPMvi6j+vNt9Z25oODz3qLa39Ffg7F5ddnGIRRbv85bNiwmi5X63PIXNxHO0PaTz75pFYDDfWX+FVTFRy1k/byyy+b7GXe1iq488UBBXDrPa/3ySiYPNqDrBIK9dO777579DKh/bFjx4bio19Pcr7aQ7379aTyZQ33lV+o3zfvJdiKNpKqWfrJT35i48OWIQQucc5Xfn2lG1eGPMLwfu/a6RStC4nJRtVkipaExLguh7IL7vCMi/ZDRx11VKZvK/YPiU2EB0iABEiABEiABEiABEig0ARqEtxh1uNmm21mP04xG/Wdd97JVGD3A63abMlMif1/JFdwB0EchH7VnGsAHB/iWQVDJk1RO6VX7OBjEB+SRXGu4A4ztqOCq2g+IRiBwMMMSiTZl4AA0MTBQGGaIC46SIXVbFlc9MMU9ZpWl266ruBuhRVWcA9pvzuAKOqLKo67Ay7uar2KiJGAWgUJSM7HfeEz3QgCvVsLBwhR3VUkWBGa5kSlmW2XaJ+iZin2FHcAB4LktDaFgTnT3rFNix970VYG3nXXXaFriyrf1JSitneSBHe+7uN6862lnQGmDw4+6y2pART1OZSUX1/hWDlt7ldM2Hj77bdrulStzyFzcR/tzKSddSsqRC0bMEqzOxuXbq2CO58cfD03XQ55tAcIFU0bxRb1Us3heRi1xVotftZjLWkPeffrWNGOd+08ftCgEHV559ekj/diU3cQFIv6fnModvv3v/9da3fA+zh+ScJyX/nNO13f9QaIoo7cMoZ2Dzzj49whhxxi40HzR1I8nOtyKLPgDt/bO++8sy032iImi6Z9h8XxSwtrZP+QljceJwESIAESIAESIAESIIFmIxAV3C0mHwOZnQzEqOeff17HF3WM2raDfKBmOh+2PIyDTYghQ4aoOXPmmKCat5tuuqmCXaxqDnYVXAe7by1xsIkFG2mwYQE7F0V0sAkmQsyqWQOHHj162DgifLV+1/PKK6/Y3Y033ljbGrMBMR7YlHNdUrpunDj/8OHDU+sy7jyEyYq6ikMyyGfDRIBj/cYDexmNcr7uC1/p5s0Jtutce4cyUJF6CdivhN0747K0M7TflvYPsDdUL/fGG2+ELiWqtkL7cTtZ4uC8etzHRefri4PPeourc4SV4TmUlPc8w6+44gqbHOz/yCpVu5+Hp7XPoXrcb2nlgz1Y14lAyN2ti98nh0Y831rTHmRA3LIWgYMSrQ92P84DG8KiBjTuUE1hrW0PefTrokJcwRZjHj/Ywq3m8sivSV/UdRuvtsWN/FdzW2yxhbbtjPcR/DbYYINq0fWxPPPrXiyPdOtRb4cffrjNtkw4VGJ6wO4bj0wgCNk6FyGetnttjrfFLd6J99tvPzV58mRbPJT7mmuuCb372oM1ehrZP9SYdZ5OAiRAAiRAAiRAAiRAAm2ewOJZSwgj7ddee62NLjbUtAF2G5DiEbseatCgQTbWZZddpo2Rb7nllmqHHXZQffr0Udtss42KE6zYk6p4RH1elaPfHsLAietEauvutgm/rIzLVA7EM4POSQJMUQNn04JfVGra/TiPzIINBcsKCLXddtuFwtJ2RMWQElUwadESj7sCnbhIacfjzvEZ5uu+8JVu3izcwTGknaX9QtAqNpyUrOjU2RH1vanZWn/99VPjyErP1Di+IogtT5s0Bghl5ajdT/KIas+kQ6HwetzHRecLID44+Ky3UCVyJ0QAE4jMJCIcEJs/oeO17tTyHPLRzuLKI3ZelazyUehD4RfVfPYn9uXiTqlrmE8O9X6+tbY9uP1D1v46a7xoZfpoD3n067JyK5rVVu+npZVHfk3mZGWz8aropD97oEZPnvl1s5JHumms3eul+ZPSwoQLvOuI3WqdxC233KKik7dELabu18w1XGGfCWtLWwjtxJyBuueee0LFGjNmjMKE2da6ovYPrS0PzyMBEiABEiABEiABEiCBZiGQSXD39NNP6xVyBsqee+6pzjvvPLObaXvkkUeqF154QQvrzAmi8kMhbfzg8FEiqgyVqNJUgwcPVmLvykRN3Xbq1Ck1Ti0fPamJFyRCVuGDGy9JgOnO0p8yZYrCryVOVAu1JLqOiwESDJI1i/N1X/hKN+96wWxq162yyirubqIf8Yzgzl2xl3TC0ksvnXTIhrdv39766+1x78Ho7OekvGSNV4/7uOh8wdAHB5/1llTvDFfKXW0nqtEU3knydLU8h3y0M7dsDz30kBKVzvp9Cu9QRXU+OdT7+dba9uD2D1kmY6Aus/brpt59toc8+vU8J0ulpZVHfg1XUZVtvAp9jA+XZ37d/OWRbhpr93pp/qS0sMIUK8nEnqBOQkwQqMsvv1wh3DhRwW+8qnfv3kpsadv9tujBBIxJkyZVFO3EE09Ut956a0V4WkDR+4e0/PM4CZAACZAACZAACZAACTQ7gf99HSWQwEzI/v37W3V2Yn9D3XDDDa1S1zFu3Di12267KbElpZ577rmKK2IQ6qmnntK/UaNG6Y8XqH6ky04g6QM5mkLWeNHzfO+7Kjx9X6so6fu6L3yl65NbVuF61ng+8+or7aLem77K21bSZb3VpyYxIURsQNqLHX300bmrTivqc0hsgKaufLdg2rinns83tofWNyaxY9ZizQtJV2utRo6k9LKGix3erFHbTLx61RtW0BnB3dy5cxUETViJBxdVk9nWV9tVazy33XabgvrSww47rFq00DE+L0I4uEMCJEACJEACJEACJEACpSRQVXAH1YcDBgxQM2fO1IWDirrbb79diaH2Vhe2X79+Cr/3339fQQXKk08+qX9Qq+g6HP+h2HmCOkd3dZgbh/5KAgsWLKgMjAnJGs+cCjWnmOXeEpdmzyUurdVWWy0uuM2H+bovfKXrq0Iwyz3L4Jw7G95XXhqVbnQVYlI+WnoPI5163cdJeS5KuA8OPuutKNyKkI/rr79ezZ8/X2cFKzNqUa2cVJ68nkN5tjO8e7nqqrEyHQPZUEcNwRJU7MKO51JLLaXQN+RVhiRGLQnPk4N73Xo93/JgmVUDwRdffOEWMdFflvbQoUMHhQl/ZXPu5KAiqJ6tN7961Rvs8cEeoLGJiRV2RnDnqsmERgSszsvbFXXV8umnn64OPPBAtfXWWytjhuCkk07SpiWyrAAtS/+Qd30yPRIgARIgARIgARIgARJoawSqCu6GDh2qHn/8cVvmq666SqsqsQE1eDAQcswxx+gfknn33XcV7Btgpd0nn3yiU/7000/1TEyE0WUj8M4772SK6ApKMdgX52ATEDNg4aC2dPvtt4+LlmuYqyIn14RLkpiv+8JXurVi7dKlSyiJ6dOnqy222CIUFt2B+jG3/UZtV0bjl2EfkyKMgwpQDLynqQoGqyyuEfdxlnzVO44PDj7rrd58ynI92Ns1bp999lE+7v9ankM+2hnKe+mll5piK7Q7THpK0khQBEGDLw4WguPx/XxrbXtwVRbiHTeLc20DVotftvZQrSxFPLbSSivZb5H33nuviFlsM3nCBIQzzzxTlwfqMqEKGfecqyZzp512UqiTlrgsE7yideuqt23JtfKMO3z4cK2ZBmmee+65asSIETp5fBNjEsQDDzyQqvWG/YNGxj8SIAESIAESIAESIAESKD2BREvXUMlx2WWX2QKecsopXmY7mgusueaa+sMNqjI7duxogrUdF7vTYM/VV1+tVwtiNuj48eMVjH0XzWHSjM6HAAAQsklEQVSFYhb35ptv2mg9e/a0ftez1lpr2d2s6doT6MmFgK/7wle6LS2028Zw7uuvv56axAcffKDcVQm9evVKPafoEVAfxmEGeJb77bXXXjOnVN26jLOkWzWxEh/0wcFnvSWhLsNzyM17nvl95JFHQn3E8ccf716qEH4f7QyDyS+99JItHyY9JQntECmr8Mcm6MHjg0PWbBbl+eb2D5hUlUWQ4NZzUnnL2B6SylLUcLf9uu/LSflF3WKVk/llqeuktJotHHbNzQpHTDp48MEHW60mEysFjYPmljT36quvhqI0WuU1NE7AnIRx55xzjtpss83MrmaD789qjv1DNTo8RgIkQAIkQAIkQAIkQALlIhC74m7q1Kl2JRyKs+2226rRo0e3umQYjJ8yZYo+H+pOYDshyUG9ItSmGBt4WdULJaWXVzjUlrgzGDHjETYH7rvvPlUk+xcYzH/44YfVjjvumFh0rGycM2eOPZ6k0tJVb4TZ/Ri8SBLyIbFFixbpQQszYxWqTrt162avQ0+YgK/7wle64dzns4eVElD59vXXX+sEx44dqwYOHFh1NrGxh2JysP766xtvabfuAC8KgTJed911ieXBSlhMrsjieB9/S8kHB5/1Fle3ZXkOmbznnV+sxDAOz6K+ffua3cJsfbQzvAe5goAVVlihankx8N1o54MDylSm55sr/IG6u0suuURdeOGFiVXzxBNPqMceeyzxuDlQxvZg8l6Wrdt+IUx99NFHtZrCpPzD7ibsbRqHSTLV3pdNPG6VWnnllRVW1OG7Cg7fKF9++aX6/PPP9T7U/+67777an/aHe85MXJg2bZrCRCgj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" alt=""></p>



<p>以下のコマンドで実行権限を付与しました</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>chmod 755 realesrgan-ncnn-vulkan</code></pre></div>



<p>権限付与後は正常に実行できました</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="398" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220910_002-1-1024x398.png" alt="" class="wp-image-297" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220910_002-1-1024x398.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220910_002-1-300x116.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220910_002-1-768x298.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220910_002-1-1536x596.png 1536w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220910_002-1.png 1782w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Stable Diffusionで生成した画像をアップスケーリングしてみる</h2>



<p>Real-ESRGANの動かし方がわかったところで、実際に画像をアップスケールしてみましょう</p>



<p>Stable Diffusionに2070年の秋葉原をテーマにしてイラストを生成させてみました。プロンプトは以下のような感じになります。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>Akihabara in 2070 Concept Art 4K 8K Neon Rain Falling City Futuristic Cityscape</code></pre></div>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="762" height="511" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220912_004.png" alt="" class="wp-image-303" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220912_004.png 762w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220912_004-300x201.png 300w" sizes="auto, (max-width: 762px) 100vw, 762px" /></figure>



<p>以下の画像をアップスケーリングしたいと思います</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="512" height="512" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/seed_823252_00029.png" alt="" class="wp-image-304" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/seed_823252_00029.png 512w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/seed_823252_00029-300x300.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/seed_823252_00029-150x150.png 150w" sizes="auto, (max-width: 512px) 100vw, 512px" /></figure>



<p>Real-ESRGANにはモデルが4つ用意されているので、それぞれを適用してみます。<br>用意されているモデルは以下の通りです。</p>



<ol class="wp-block-list"><li>realesr-animevideov3 (default)</li><li>realesrgan-x4plus</li><li>realesrgan-x4plus-anime</li></ol>



<h3 class="wp-block-heading">realesr-animevideov3</h3>



<figure class="wp-block-image size-large"><a href="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/output.png"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/output-1024x1024.png" alt="" class="wp-image-306" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/output-1024x1024.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/output-300x300.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/output-150x150.png 150w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/output-768x768.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/output-1536x1536.png 1536w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/output.png 2048w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/output-600x600.png 600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<h3 class="wp-block-heading">realesrgan-x4plus</h3>



<figure class="wp-block-image size-large"><a href="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/realesrgan-x4plus.png"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/realesrgan-x4plus-1024x1024.png" alt="" class="wp-image-305" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/realesrgan-x4plus-1024x1024.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/realesrgan-x4plus-300x300.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/realesrgan-x4plus-150x150.png 150w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/realesrgan-x4plus-768x768.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/realesrgan-x4plus-1536x1536.png 1536w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/realesrgan-x4plus.png 2048w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/realesrgan-x4plus-600x600.png 600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<h3 class="wp-block-heading">realesrgan-x4plus-anime</h3>



<figure class="wp-block-image size-large"><a href="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/output-1.png"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/output-1-1024x1024.png" alt="" class="wp-image-307" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/output-1-1024x1024.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/output-1-300x300.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/output-1-150x150.png 150w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/output-1-768x768.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/output-1-1536x1536.png 1536w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/output-1.png 2048w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/output-1-600x600.png 600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>realesrgan-x4plus-animeのみ、ほか2つのモデルと比較して顕著に違いが出ているようです。<br>ただ、いずれのモデルを利用した場合でも、ペイントソフトで普通に拡大するよりも、はるかに滑らかに拡大できているかと思います。</p>



<p>Stable DiffusionとReal-ESRGANを利用すれば、高画質なイラストを気軽に生成できそうですね</p>



<h2 class="wp-block-heading">以上です</h2>



<p>Real-ESRGANを使ってみたお話でした。<br>これを利用すれば、昔の解像度が低かったエロゲなんかも、HDにリメイクして販売できるのではと思ってしまいました</p>


<div id="rinkerid308" class="yyi-rinker-contents  yyi-rinker-postid-308 yyi-rinker-img-m yyi-rinker-catid-12 ">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image">
							<a href="https://af.moshimo.com/af/c/click?a_id=3394378&#038;p_id=54&#038;pc_id=54&#038;pl_id=616&#038;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E3%2582%25A8%25E3%2583%25AD%25E3%2582%25B2%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/rakutenkobo-ebooks/cabinet/4449/2000010084449.jpg?_ex=128x128" width="128" height="128" class="yyi-rinker-main-img" style="border: none;" loading="lazy"></a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
									<a href="https://af.moshimo.com/af/c/click?a_id=3394378&#038;p_id=54&#038;pc_id=54&#038;pl_id=616&#038;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E3%2582%25A8%25E3%2583%25AD%25E3%2582%25B2%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow">伝説のエロゲー名鑑　1982-2021【電子書籍】[ スタジオグリーン編集部 ]</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">							</div>
			<div class="yyi-rinker-detail">
							<div class="credit-box">created by&nbsp;<a href="https://oyakosodate.com/rinker/" rel="nofollow noopener" target="_blank" >Rinker</a></div>
										<div class="price-box">
							</div>
						</div>
						<ul class="yyi-rinker-links">
																                    <li class="amazonlink">
						<a href="https://www.amazon.co.jp/gp/search?ie=UTF8&amp;keywords=%E3%82%A8%E3%83%AD%E3%82%B2&amp;tag=monodon-22&amp;index=blended&amp;linkCode=ure&amp;creative=6339" rel="nofollow" class="yyi-rinker-link">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E3%2582%25A8%25E3%2583%25AD%25E3%2582%25B2%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link">楽天市場</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
													<li class="yahoolink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502&amp;url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3D%25E3%2582%25A8%25E3%2583%25AD%25E3%2582%25B2" rel="nofollow" class="yyi-rinker-link">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502" width="1" height="1" style="border:none;">					</li>
				                											</ul>
					</div>
	</div>
</div>


<div id="rinkerid309" class="yyi-rinker-contents  yyi-rinker-postid-309 yyi-rinker-img-m yyi-rinker-catid-12 ">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image">
							<a href="https://af.moshimo.com/af/c/click?a_id=3394378&#038;p_id=54&#038;pc_id=54&#038;pl_id=616&#038;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E3%2582%25B3%25E3%2583%259E%25E3%2583%25B3%25E3%2583%2589%25E3%2583%2597%25E3%2583%25AD%25E3%2583%25B3%25E3%2583%2597%25E3%2583%2588%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/0014/9784774180014.jpg?_ex=128x128" width="128" height="128" class="yyi-rinker-main-img" style="border: none;" loading="lazy"></a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
									<a href="https://af.moshimo.com/af/c/click?a_id=3394378&#038;p_id=54&#038;pc_id=54&#038;pl_id=616&#038;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E3%2582%25B3%25E3%2583%259E%25E3%2583%25B3%25E3%2583%2589%25E3%2583%2597%25E3%2583%25AD%25E3%2583%25B3%25E3%2583%2597%25E3%2583%2588%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow">Windowsコマンドプロンプトポケットリファレンス改訂新版 Windows10／8／7／Vista／XP／20 （Pocket　reference） [ 山近慶一 ]</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">							</div>
			<div class="yyi-rinker-detail">
							<div class="credit-box">created by&nbsp;<a href="https://oyakosodate.com/rinker/" rel="nofollow noopener" target="_blank" >Rinker</a></div>
										<div class="price-box">
							</div>
						</div>
						<ul class="yyi-rinker-links">
																                    <li class="amazonlink">
						<a href="https://www.amazon.co.jp/gp/search?ie=UTF8&amp;keywords=%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%97%E3%83%AD%E3%83%B3%E3%83%97%E3%83%88&amp;tag=monodon-22&amp;index=blended&amp;linkCode=ure&amp;creative=6339" rel="nofollow" class="yyi-rinker-link">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E3%2582%25B3%25E3%2583%259E%25E3%2583%25B3%25E3%2583%2589%25E3%2583%2597%25E3%2583%25AD%25E3%2583%25B3%25E3%2583%2597%25E3%2583%2588%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link">楽天市場</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
													<li class="yahoolink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502&amp;url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3D%25E3%2582%25B3%25E3%2583%259E%25E3%2583%25B3%25E3%2583%2589%25E3%2583%2597%25E3%2583%25AD%25E3%2583%25B3%25E3%2583%2597%25E3%2583%2588" rel="nofollow" class="yyi-rinker-link">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502" width="1" height="1" style="border:none;">					</li>
				                											</ul>
					</div>
	</div>
</div>
<p>投稿 <a href="https://sheltie-garage.xyz/tech/2022/09/real-esrgan%e3%81%a7stable-diffusion%e3%81%ae%e7%94%bb%e5%83%8f%e3%82%92%e3%82%a2%e3%83%83%e3%83%97%e3%82%b9%e3%82%b1%e3%83%bc%e3%83%aa%e3%83%b3%e3%82%b0%e3%81%99%e3%82%8b/">Real-ESRGANでStable Diffusionの画像をアップスケーリングする</a> は <a href="https://sheltie-garage.xyz/tech">Sheltie Garage Tech</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sheltie-garage.xyz/tech/2022/09/real-esrgan%e3%81%a7stable-diffusion%e3%81%ae%e7%94%bb%e5%83%8f%e3%82%92%e3%82%a2%e3%83%83%e3%83%97%e3%82%b9%e3%82%b1%e3%83%bc%e3%83%aa%e3%83%b3%e3%82%b0%e3%81%99%e3%82%8b/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Stable Diffusionでファインチューニング(Finetune)を試す</title>
		<link>https://sheltie-garage.xyz/tech/2022/09/stable-diffusion%e3%81%a7%e3%83%95%e3%82%a1%e3%82%a4%e3%83%b3%e3%83%81%e3%83%a5%e3%83%bc%e3%83%8b%e3%83%b3%e3%82%b0%e3%82%92%e8%a9%a6%e3%81%99%e3%81%8c%e3%80%81%e5%8b%95%e4%bd%9c%e3%81%97%e3%81%be/</link>
					<comments>https://sheltie-garage.xyz/tech/2022/09/stable-diffusion%e3%81%a7%e3%83%95%e3%82%a1%e3%82%a4%e3%83%b3%e3%83%81%e3%83%a5%e3%83%bc%e3%83%8b%e3%83%b3%e3%82%b0%e3%82%92%e8%a9%a6%e3%81%99%e3%81%8c%e3%80%81%e5%8b%95%e4%bd%9c%e3%81%97%e3%81%be/#comments</comments>
		
		<dc:creator><![CDATA[monodon]]></dc:creator>
		<pubDate>Sun, 04 Sep 2022 04:58:37 +0000</pubDate>
				<category><![CDATA[AI・機械学習]]></category>
		<guid isPermaLink="false">https://sheltie-garage.xyz/tech/?p=262</guid>

					<description><![CDATA[<p>またまたStable Diffusionネタです。ドはまりしたので、しばらくはこの話題になりそうです ファインチューニングとは？ ファインチューニング(転移学習)とは以下のようなものになります。 一般的な手法である『教師 [&#8230;]</p>
<p>投稿 <a href="https://sheltie-garage.xyz/tech/2022/09/stable-diffusion%e3%81%a7%e3%83%95%e3%82%a1%e3%82%a4%e3%83%b3%e3%83%81%e3%83%a5%e3%83%bc%e3%83%8b%e3%83%b3%e3%82%b0%e3%82%92%e8%a9%a6%e3%81%99%e3%81%8c%e3%80%81%e5%8b%95%e4%bd%9c%e3%81%97%e3%81%be/">Stable Diffusionでファインチューニング(Finetune)を試す</a> は <a href="https://sheltie-garage.xyz/tech">Sheltie Garage Tech</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<p>またまたStable Diffusionネタです。ドはまりしたので、しばらくはこの話題になりそうです</p>



<h2 class="wp-block-heading">ファインチューニングとは？</h2>



<p>ファインチューニング(転移学習)とは以下のようなものになります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>一般的な手法である『教師あり学習』は、あらかじめ正解を与えて学習を行うフローとなっています。しかし正解を導くために大量のデータが必要となり、かつ学習時間も膨大にかかるのが難点です。<br></p><p>一方で転移学習は、タスクの仮説立てを行ううえで、別のタスクですでに学習された知識を転用し、仮説立てを行わせる手法となります。大量のデータと学習にかかる時間を大幅に削減できるため、非常に効率的な手法として評価されています。</p><cite><a href="https://biz.hipro-job.jp/column/corporation/transfer-learning/">転移学習とは？ファインチューニングとの違いや活用例をご紹介 &#8211; 顧問、専門家などのプロ人材紹介サービス (hipro-job.jp)</a></cite></blockquote>



<p>Stable Diffusionの場合、汎用的なイラスト生成モデル故、特定の分野のイラストを生成しようとした場合、なかなかうまくいかないことがあります。具体的にはアニメ系のイラスト生成ですね。</p>



<p>ファインチューニングを行うことで、高度なイラストを生成できる特徴を生かしつつ、アニメ系に特化したモデルも作成できるのではと思い、実験してみることにしました。</p>



<p><a href="https://birdmanikioishota.blog.fc2.com/blog-entry-8.html" target="_blank" rel="noreferrer noopener">すでに実施されている方のブログ</a>では、「いらすとや」でファインチューニングを行い、結果を表示していました。</p>



<p>サービス閉鎖してしまった「<a href="https://illustmimic.com/" target="_blank" rel="noreferrer noopener">mimic</a>」も、おそらく同じ技術を利用してイラストを生成していると思われます。</p>



<h2 class="wp-block-heading">早速やってみる</h2>



<p>環境は以下の通りです<br>・OS:Windows11<br>・ CPU:Corei7 9700K<br>・GPU:RTX2080 VRAM 8GB</p>



<p class="has-vivid-red-color has-text-color has-medium-font-size"><strong>可能であればLinux環境で動かすことを推奨します</strong></p>



<p>このスクリプトにはUnix環境でしか利用できないパッケージが利用されており、トラブルシューティングやエラー修正で精神を削がれます</p>



<p>また、いろいろとプログラム修正をしないと動かなかったので、先にページ下部のエラー集を見ておくとよいかもしれません</p>



<p>それでもWindowsで動かしたいという方はお進みください。</p>



<p>・・・</p>



<p>redditの投稿にやり方が書いてあるため、それに従って進めていきます<br><a href="https://www.reddit.com/r/StableDiffusion/comments/wvzr7s/tutorial_fine_tuning_stable_diffusion_using_only/" target="_blank" rel="noreferrer noopener">https://www.reddit.com/r/StableDiffusion/comments/wvzr7s/tutorial_fine_tuning_stable_diffusion_using_only/</a></p>



<h3 class="wp-block-heading">環境構築</h3>



<p>指定のリポジトリをローカルにクローンします。クローン後、フォルダ移動し、condaコマンドで環境を構築します</p>



<p>Windows環境にAnaconda、Git がインストールされていることが前提なので、インストールされていない場合<a href="https://sheltie-garage.xyz/tech/2022/08/rtx2080%e6%90%ad%e8%bc%89%e3%81%aewindows11%e3%83%9e%e3%82%b7%e3%83%b3%e3%81%a7stable-diffusion%e3%82%92%e5%8b%95%e3%81%8b%e3%81%99/">過去記事</a>も参照してください</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>git clone https://github.com/rinongal/textual_inversion.git
cd textual_inversion
# conda remove -n ldm --all  # すでにldmの仮想環境が存在する場合、いったん削除する
conda env create -f environment.yaml
conda activate ldm
pip install -e .</code></pre></div>



<h2 class="wp-block-heading">学習用画像の準備</h2>



<p>手順によれば「512px × 512pxの画像5枚が必要」とのことでした。<br>今回はmimicクローズベータに参加されていた「<a href="https://twitter.com/km170" target="_blank" rel="noreferrer noopener">たんたんめん</a>」さんの画像を利用させていただき、学習することにしました。<br>かわいいイラストが多くて、学習用画像を選定するのに時間を取られてしまいました・・・</p>



<p>学習用画像は、ひとまず顔の部分のみ512 × 512の大きさに切りだして準備しました</p>



<p>画像はGimpを使ってトリミングを行い、5枚の学習用画像を作成しました。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="550" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220904_001-1024x550.png" alt="" class="wp-image-263" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220904_001-1024x550.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220904_001-300x161.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220904_001-768x412.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220904_001-1536x825.png 1536w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220904_001.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="560" height="155" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220904_002.png" alt="" class="wp-image-264" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220904_002.png 560w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220904_002-300x83.png 300w" sizes="auto, (max-width: 560px) 100vw, 560px" /></figure>



<p>お察しの通り、ケモミミ好きです・・・</p>



<h3 class="wp-block-heading">トレーニングの実施</h3>



<p>トレーニングコマンドを実施する前に、準備をします</p>



<p>・準備1:Stable Diffusionモデルの準備<br>　StableDiffusion V1.4のモデルが必要です。HuggingFaceからダウンロードしてもよいですし、Stable Diffusionの環境が構築済みであれば、コピーして適当なフォルダに保存しておきます。</p>



<p>・準備2:initializer_words の準備<br>　configs/stable-diffusion/v1-finetune.yaml をテキストエディタなどで開き、initializer_wordsの設定部分を探します。<br>　このパラメータは重要で、トレーニング内容を説明する簡単な語句の羅列を指定するようで、複数指定する場合は2重引用符で囲み、カンマで区切るようです。今回は以下の画像のように指定してみました</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="661" height="168" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220904_003.png" alt="" class="wp-image-265" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220904_003.png 661w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/20220904_003-300x76.png 300w" sizes="auto, (max-width: 661px) 100vw, 661px" /></figure>



<p>準備ができたので、トレーニングを行います<br>以下のコマンドで実施してみました</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>python main.py --base configs/stable-diffusion/v1-finetune.yaml -t --actual_resume ./models/ldm/stable-diffusion-v1/sd-v1-4.ckpt -n tantanmen_train --gpus 1, --data_root ./LerningImages/512</code></pre></div>



<h2 class="wp-block-heading">使ってみる</h2>



<p>以上で新しい特徴を覚えたモデルが生成されたはずなので、実際に実行してみます</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>python scripts/stable_txt2img.py --ddim_eta 0.0 --n_samples 1 --n_iter 2 --scale 10.0 --ddim_steps 50 --embedding_path ./logs/5122022-09-05T08-03-26_tantanmen_train/checkpoints/embeddings.pt --ckpt ./models/ldm/stable-diffusion-v1/sd-v1-4.ckpt --config ./logs/5122022-09-05T08-03-26_tantanmen_train/configs/5122022-09-05T08-03-26-project.yaml --prompt &quot;anime, girl, japanese, *&quot;</code></pre></div>



<p>パラメータは各個人の環境でファイル名が異なってくるので、そのあたりはご注意ください。<br>GPUメモリ不足で、n_samplesに2以上の値を入力するとメモリ不足で落ちました・・・<br>n_samples=1で実行することで、ひとまずイラストは生成されました。</p>



<h2 class="wp-block-heading">生成されたイラスト</h2>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="513" height="1024" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/anime-girl-japanese-0000-513x1024.jpg" alt="" class="wp-image-274" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/anime-girl-japanese-0000-513x1024.jpg 513w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/anime-girl-japanese-0000-150x300.jpg 150w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/09/anime-girl-japanese-0000.jpg 516w" sizes="auto, (max-width: 513px) 100vw, 513px" /></figure>



<p class="has-vivid-red-color has-text-color has-medium-font-size">素のStable Diffusionで生成するよりもまともな(比較的かわいい)結果が出力されるけど、入力画像には程遠い画像が出力された</p>



<p>が、ひとまず今回の結論。<br>パラメータなどいじれれば、また結果は変わるかもしれないけど、VRAM8GBではいろいろ限界なんです・・・<br>オプティマイズ版が出るか、つよつよGPUを持っている方がいろいろ実験されるのを待つことにします・・・</p>



<h2 class="wp-block-heading">追伸</h2>



<p>mimicって、ちゃんと学習画像に近い画像を生成できていたので、割と高度なことをやってるんだなぁと思った</p>



<h2 class="wp-block-heading">エラー集</h2>



<pre class="wp-block-preformatted">Traceback (most recent call last):
  File "main.py", line 762, in &lt;module&gt;
    ngpu = len(lightning_config.trainer.gpus.strip(",").split(','))
AttributeError: 'int' object has no attribute 'strip'</pre>



<p>main.py 762行目あたりでngpuに必ず1を代入するように修正して回避</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>        if not cpu:
            # ngpu = len(lightning_config.trainer.gpus.strip(&quot;,&quot;).split(&#39;,&#39;))
            ngpu = 1
        else:
            ngpu = 1</code></pre></div>



<pre class="wp-block-preformatted">Traceback (most recent call last):
  File "main.py", line 800, in &lt;module&gt;
    signal.signal(signal.SIGUSR1, melk)
AttributeError: module 'signal' has no attribute 'SIGUSR1'</pre>



<p>main.py 800行目あたりのsignal処理一式を変更</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>        import signal

        signal.signal(signal.SIGTERM, melk)
        signal.signal(signal.SIGTERM, divein)</code></pre></div>



<pre class="wp-block-preformatted">Traceback (most recent call last):
  File "main.py", line 806, in &lt;module&gt;
    trainer.fit(model, data)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 740, in fit
    self._call_and_handle_interrupt(
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 685, in _call_and_handle_interrupt
    return trainer_fn(*args, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 777, in _fit_impl
    self._run(model, ckpt_path=ckpt_path)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 1199, in _run
    self._dispatch()
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 1279, in _dispatch
    self.training_type_plugin.start_training(self)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\plugins\training_type\training_type_plugin.py", line 202, in start_training
    self._results = trainer.run_stage()
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 1289, in run_stage
    return self._run_train()
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 1311, in _run_train
    self._run_sanity_check(self.lightning_module)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 1375, in _run_sanity_check
    self._evaluation_loop.run()
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\loops\base.py", line 145, in run    self.advance(*args, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\loops\dataloader\evaluation_loop.py", line 110, in advance
    dl_outputs = self.epoch_loop.run(dataloader, dataloader_idx, dl_max_batches, self.num_dataloaders)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\loops\base.py", line 145, in run    self.advance(*args, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\loops\epoch\evaluation_epoch_loop.py", line 122, in advance
    output = self._evaluation_step(batch, batch_idx, dataloader_idx)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\loops\epoch\evaluation_epoch_loop.py", line 217, in _evaluation_step
    output = self.trainer.accelerator.validation_step(step_kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\accelerators\accelerator.py", line 236, in validation_step
    return self.training_type_plugin.validation_step(*step_kwargs.values())
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\plugins\training_type\training_type_plugin.py", line 219, in validation_step
    return self.model.validation_step(*args, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\autograd\grad_mode.py", line 28, in decorate_context
    return func(*args, **kwargs)
  File "F:\Project\MachineLerning\textual_inversion\ldm\models\diffusion\ddpm.py", line 368, in validation_step
    _, loss_dict_no_ema = self.shared_step(batch)
  File "F:\Project\MachineLerning\textual_inversion\ldm\models\diffusion\ddpm.py", line 907, in shared_step
    loss = self(x, c)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "F:\Project\MachineLerning\textual_inversion\ldm\models\diffusion\ddpm.py", line 915, in forward
    c = self.get_learned_conditioning(c)
  File "F:\Project\MachineLerning\textual_inversion\ldm\models\diffusion\ddpm.py", line 594, in get_learned_conditioning    c = self.cond_stage_model.encode(c, embedding_manager=self.embedding_manager)
  File "F:\Project\MachineLerning\textual_inversion\ldm\modules\encoders\modules.py", line 324, in encode
    return self(text, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "F:\Project\MachineLerning\textual_inversion\ldm\modules\encoders\modules.py", line 319, in forward
    z = self.transformer(input_ids=tokens, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "F:\Project\MachineLerning\textual_inversion\ldm\modules\encoders\modules.py", line 297, in transformer_forward
    return self.text_model(
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "F:\Project\MachineLerning\textual_inversion\ldm\modules\encoders\modules.py", line 258, in text_encoder_forward
    hidden_states = self.embeddings(input_ids=input_ids, position_ids=position_ids, embedding_manager=embedding_manager)  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "F:\Project\MachineLerning\textual_inversion\ldm\modules\encoders\modules.py", line 180, in embedding_forward
    inputs_embeds = self.token_embedding(input_ids)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\nn\modules\sparse.py", line 158, in forward
    return F.embedding(
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\nn\functional.py", line 2044, in embedding
    return torch.embedding(weight, input, padding_idx, scale_grad_by_freq, sparse)
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cpu and cuda:0! (when checking argument for argument index in method wrapper__index_select)</pre>



<p>パラメータを「&#8211;gpus 0,　→　&#8211;gpus 1,」に変更したらひとまずエラーは消えました</p>



<p class="has-vivid-red-color has-text-color"><strong>こちらは各々の環境で指定する番号が異なるようですので、gpu 0,　→　gpu 1,　というように0番からしていてうまく動く番号を探るのがよさそうです</strong></p>



<pre class="wp-block-preformatted">Traceback (most recent call last):
  File "main.py", line 806, in &lt;module&gt;
    trainer.fit(model, data)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 740, in fit
    self._call_and_handle_interrupt(
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 685, in _call_and_handle_interrupt
    return trainer_fn(*args, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 777, in _fit_impl
    self._run(model, ckpt_path=ckpt_path)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 1137, in _run
    self.accelerator.setup_environment()
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\accelerators\gpu.py", line 39, in setup_environment
    super().setup_environment()
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\accelerators\accelerator.py", line 83, in setup_environment
    self.training_type_plugin.setup_environment()
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\plugins\training_type\ddp.py", line 185, in setup_environment
    self.setup_distributed()
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\plugins\training_type\ddp.py", line 272, in setup_distributed
    init_dist_connection(self.cluster_environment, self.torch_distributed_backend)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\utilities\distributed.py", line 387, in init_dist_connection
    torch.distributed.init_process_group(
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\distributed\distributed_c10d.py", line 583, in init_process_group
    default_pg = _new_process_group_helper(
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\distributed\distributed_c10d.py", line 708, in _new_process_group_helper
    raise RuntimeError("Distributed package doesn't have NCCL " "built in")
RuntimeError: Distributed package doesn't have NCCL built in</pre>



<p><a href="https://github.com/ray-project/ray_lightning/issues/13" target="_blank" rel="noreferrer noopener">こちらの記事</a>を参考に、main.pyを以下のように修正</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>if __name__ == &quot;__main__&quot;:
    # custom parser to specify config files, train, test and debug mode,
    # postfix, resume.
    # `--key value` arguments are interpreted as arguments to the trainer.
    # `nested.key=value` arguments are interpreted as config parameters.
    # configs are merged from left-to-right followed by command line parameters.

　　・・・省略・・・

    os.environ[&quot;PL_TORCH_DISTRIBUTED_BACKEND&quot;] = &quot;gloo&quot;  ←これを追加

    now = datetime.datetime.now().strftime(&quot;%Y-%m-%dT%H-%M-%S&quot;)

    # add cwd for convenience and to make classes in this file available when
    # running as `python main.py`
    # (in particular `main.DataModuleFromConfig`)</code></pre></div>



<pre class="wp-block-preformatted">Traceback (most recent call last):
  File "main.py", line 808, in &lt;module&gt;
    trainer.fit(model, data)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 740, in fit
    self._call_and_handle_interrupt(
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 685, in _call_and_handle_interrupt
    return trainer_fn(*args, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 777, in _fit_impl
    self._run(model, ckpt_path=ckpt_path)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 1199, in _run
    self._dispatch()
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 1279, in _dispatch
    self.training_type_plugin.start_training(self)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\plugins\training_type\training_type_plugin.py", line 202, in start_training
    self._results = trainer.run_stage()
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 1289, in run_stage
    return self._run_train()
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 1319, in _run_train
    self.fit_loop.run()
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\loops\base.py", line 145, in run
    self.advance(*args, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\loops\fit_loop.py", line 234, in advance
    self.epoch_loop.run(data_fetcher)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\loops\base.py", line 145, in run
    self.advance(*args, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\loops\epoch\training_epoch_loop.py", line 193, in advance
    batch_output = self.batch_loop.run(batch, batch_idx)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\loops\base.py", line 145, in run
    self.advance(*args, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\loops\batch\training_batch_loop.py", line 88, in advance
    outputs = self.optimizer_loop.run(split_batch, optimizers, batch_idx)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\loops\base.py", line 145, in run
    self.advance(*args, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\loops\optimization\optimizer_loop.py", line 215, in advance
    result = self._run_optimization(
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\loops\optimization\optimizer_loop.py", line 266, in _run_optimization
    self._optimizer_step(optimizer, opt_idx, batch_idx, closure)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\loops\optimization\optimizer_loop.py", line 378, in _optimizer_step
    lightning_module.optimizer_step(
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\core\lightning.py", line 1652, in optimizer_step
    optimizer.step(closure=optimizer_closure)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\core\optimizer.py", line 164, in step
    trainer.accelerator.optimizer_step(self._optimizer, self._optimizer_idx, closure, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\accelerators\accelerator.py", line 336, in optimizer_step
    self.precision_plugin.optimizer_step(model, optimizer, opt_idx, closure, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\plugins\precision\precision_plugin.py", line 163, in optimizer_step
    optimizer.step(closure=closure, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\optim\optimizer.py", line 88, in wrapper
    return func(*args, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\autograd\grad_mode.py", line 28, in decorate_context
    return func(*args, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\optim\adamw.py", line 92, in step
    loss = closure()
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\plugins\precision\precision_plugin.py", line 148, in _wrap_closure
    closure_result = closure()
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\loops\optimization\optimizer_loop.py", line 160, in __call__
    self._result = self.closure(*args, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\loops\optimization\optimizer_loop.py", line 142, in closure
    step_output = self._step_fn()
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\loops\optimization\optimizer_loop.py", line 435, in _training_step
    training_step_output = self.trainer.accelerator.training_step(step_kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\accelerators\accelerator.py", line 216, in training_step
    return self.training_type_plugin.training_step(*step_kwargs.values())
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\plugins\training_type\ddp.py", line 439, in training_step
    return self.model(*args, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\nn\parallel\distributed.py", line 886, in forward
    output = self.module(*inputs[0], **kwargs[0])
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\overrides\base.py", line 81, in forward
    output = self.module.training_step(*inputs, **kwargs)
  File "F:\Project\MachineLerning\textual_inversion\ldm\models\diffusion\ddpm.py", line 352, in training_step
    loss, loss_dict = self.shared_step(batch)
  File "F:\Project\MachineLerning\textual_inversion\ldm\models\diffusion\ddpm.py", line 907, in shared_step
    loss = self(x, c)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "F:\Project\MachineLerning\textual_inversion\ldm\models\diffusion\ddpm.py", line 920, in forward
    return self.p_losses(x, c, t, *args, **kwargs)
  File "F:\Project\MachineLerning\textual_inversion\ldm\models\diffusion\ddpm.py", line 1056, in p_losses
    model_output = self.apply_model(x_noisy, t, cond)
  File "F:\Project\MachineLerning\textual_inversion\ldm\models\diffusion\ddpm.py", line 1028, in apply_model
    x_recon = self.model(x_noisy, t, **cond)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "F:\Project\MachineLerning\textual_inversion\ldm\models\diffusion\ddpm.py", line 1513, in forward
    out = self.diffusion_model(x, t, context=cc)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "F:\Project\MachineLerning\textual_inversion\ldm\modules\diffusionmodules\openaimodel.py", line 732, in forward
    h = module(h, emb, context)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "F:\Project\MachineLerning\textual_inversion\ldm\modules\diffusionmodules\openaimodel.py", line 85, in forward
    x = layer(x, context)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "F:\Project\MachineLerning\textual_inversion\ldm\modules\attention.py", line 258, in forward
    x = block(x, context=context)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "F:\Project\MachineLerning\textual_inversion\ldm\modules\attention.py", line 209, in forward
    return checkpoint(self._forward, (x, context), self.parameters(), self.checkpoint)
  File "F:\Project\MachineLerning\textual_inversion\ldm\modules\diffusionmodules\util.py", line 116, in checkpoint
    return func(*inputs)
  File "F:\Project\MachineLerning\textual_inversion\ldm\modules\attention.py", line 213, in _forward
    x = self.attn2(self.norm2(x), context=context) + x
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "F:\Project\MachineLerning\textual_inversion\ldm\modules\attention.py", line 175, in forward
    k = self.to_k(context)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\nn\modules\linear.py", line 103, in forward
    return F.linear(input, self.weight, self.bias)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\nn\functional.py", line 1848, in linear
    return torch._C._nn.linear(input, weight, bias)
RuntimeError: CUDA out of memory. Tried to allocate 2.00 MiB (GPU 0; 8.00 GiB total capacity; 7.20 GiB already allocated; 0 bytes free; 7.29 GiB reserved in total by PyTorch) If reserved memory is &gt;&gt; allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF</pre>



<figure class="wp-block-embed is-type-rich is-provider-reddit wp-block-embed-reddit"><div class="wp-block-embed__wrapper">
<div class="oceanwp-oembed-wrap clr"><div class="reddit-embed" data-embed-media="www.redditmedia.com" data-embed-parent="false" data-embed-live="false" data-embed-uuid="8e16b620-321d-11ed-82b3-562974569a88" data-embed-created="2022-09-11T22:03:23.763741+00:00"><a href="https://www.reddit.com/r/StableDiffusion/comments/wvzr7s/tutorial_fine_tuning_stable_diffusion_using_only/ilin65y/">Comment</a> from discussion <a href="https://www.reddit.com/r/StableDiffusion/comments/wvzr7s/tutorial_fine_tuning_stable_diffusion_using_only/">jasoa&#8217;s comment from discussion &quot;[Tutorial] &quot;Fine Tuning&quot; Stable Diffusion using only 5 Images Using Textual Inversion.&quot;</a>.</div><script async src="https://www.redditstatic.com/comment-embed.js"></script></div>
</div></figure>



<p>で書かれている情報と<a href="https://twitter.com/Pajoca_/status/1564978000700944385" target="_blank" rel="noreferrer noopener">twitterを参考</a>に以下のように修正</p>



<p>修正対象は「config/stable-diffusion/v1-finetune.yaml」です</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>data:
  target: main.DataModuleFromConfig
  params:
    batch_size: 1 # 2
    num_workers: 1 # 2
    wrap: false
    train:
      target: ldm.data.personalized.PersonalizedBase
      params:
        size: 256 # 512
        set: train
        per_image_tokens: false
        repeats: 100
    validation:
      target: ldm.data.personalized.PersonalizedBase
      params:
        size: 256 # 512
        set: val
        per_image_tokens: false
        repeats: 10</code></pre></div>



<p>機械学習の分野ではVRAM 8GはよわよわGPUの部類に入るのか・・・</p>



<pre class="wp-block-preformatted">Traceback (most recent call last):
  File "main.py", line 810, in &lt;module&gt;
    trainer.fit(model, data)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 740, in fit
    self._call_and_handle_interrupt(
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 685, in _call_and_handle_interrupt
    return trainer_fn(*args, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 777, in _fit_impl
    self._run(model, ckpt_path=ckpt_path)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 1199, in _run
    self._dispatch()
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 1279, in _dispatch
    self.training_type_plugin.start_training(self)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\plugins\training_type\training_type_plugin.py", line 202, in start_training
    self._results = trainer.run_stage()
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 1289, in run_stage
    return self._run_train()
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 1319, in _run_train
    self.fit_loop.run()
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\loops\base.py", line 145, in run
    self.advance(*args, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\loops\fit_loop.py", line 234, in advance
    self.epoch_loop.run(data_fetcher)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\loops\base.py", line 145, in run
    self.advance(*args, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\loops\epoch\training_epoch_loop.py", line 216, in advance
    self.trainer.call_hook("on_train_batch_end", batch_end_outputs, batch, batch_idx, **extra_kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 1495, in call_hook
    callback_fx(*args, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\callback_hook.py", line 179, in on_train_batch_end
    callback.on_train_batch_end(self, self.lightning_module, outputs, batch, batch_idx, 0)
  File "F:\Project\MachineLerning\textual_inversion\main.py", line 436, in on_train_batch_end
    self.log_img(pl_module, batch, batch_idx, split="train")
  File "F:\Project\MachineLerning\textual_inversion\main.py", line 404, in log_img
    images = pl_module.log_images(batch, split=split, **self.log_images_kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\torch\autograd\grad_mode.py", line 28, in decorate_context
    return func(*args, **kwargs)
  File "F:\Project\MachineLerning\textual_inversion\ldm\models\diffusion\ddpm.py", line 1320, in log_images
    xc = log_txt_as_img((x.shape[2], x.shape[3]), batch["caption"])
  File "F:\Project\MachineLerning\textual_inversion\ldm\util.py", line 25, in log_txt_as_img
    font = ImageFont.truetype('data/DejaVuSans.ttf', size=size)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\PIL\ImageFont.py", line 844, in truetype
    return freetype(font)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\PIL\ImageFont.py", line 841, in freetype
    return FreeTypeFont(font, size, index, encoding, layout_engine)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\PIL\ImageFont.py", line 193, in __init__
    self.font = core.getfont(
OSError: cannot open resource</pre>



<p>DejaVuSans.ttfというフォントが必要らしいので、<a href="https://github.com/prawnpdf/prawn/blob/master/data/fonts/DejaVuSans.ttf" target="_blank" rel="noreferrer noopener">GitHub</a>からダウンロードして<br>「ldm/data/」に格納しました</p>



<p>そして、以下のソースも修正しました</p>



<p>textual_inversion/ldm/util.py</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code># 「import os」をファイル先頭のimportが記述されている部分に追加します
from inspect import isfunction
from PIL import Image, ImageDraw, ImageFont
import os # ←こちらを追記

#以下のメソッドでダウンロードしたフォントの読み込みパスを修正します
def log_txt_as_img(wh, xc, size=10):
    # wh a tuple of (width, height)
    # xc a list of captions to plot
    b = len(xc)
    txts = list()
    for bi in range(b):
        txt = Image.new(&quot;RGB&quot;, wh, color=&quot;white&quot;)
        draw = ImageDraw.Draw(txt)
        # font = ImageFont.truetype(&#39;data/DejaVuSans.ttf&#39;, size=size)
        print(os.getcwd() + &#39;/ldm/data/DejaVuSans.ttf&#39;)
        font = ImageFont.truetype(os.getcwd() + &#39;/ldm/data/DejaVuSans.ttf&#39;, size=size)

・・・以下修正なし</code></pre></div>



<pre class="wp-block-preformatted">Traceback (most recent call last):
  File "main.py", line 815, in &lt;module&gt;
    trainer.test(model, data)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 911, in test
    return self._call_and_handle_interrupt(self._test_impl, model, dataloaders, ckpt_path, verbose, datamodule)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 685, in _call_and_handle_interrupt
    return trainer_fn(*args, **kwargs)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 954, in _test_impl
    results = self._run(model, ckpt_path=self.tested_ckpt_path)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 1128, in _run
    verify_loop_configurations(self)
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\configuration_validator.py", line 42, in verify_loop_configurations
    __verify_eval_loop_configuration(trainer, model, "test")
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\pytorch_lightning\trainer\configuration_validator.py", line 186, in __verify_eval_loop_configuration
    raise MisconfigurationException(f"No `{loader_name}()` method defined to run `Trainer.{trainer_method}`.")
pytorch_lightning.utilities.exceptions.MisconfigurationException: No `test_dataloader()` method defined to run `Trainer.test`.</pre>



<p>直し方がわからないのでテスト実行部分を削除しました・・・<br>main.pyの814行目あたりを以下のようにコメントアウト</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>main.py

#        if not opt.no_test and not trainer.interrupted:
#            trainer.test(model, data)</code></pre></div>



<pre class="wp-block-preformatted">(ldm) PS F:\Project\MachineLerning\stable-diffusion-optimize&gt; python scripts/txt2img.py --ddim_eta 0.0 --n_samples 8 --n_iter 2 --scale 10.0 --ddim_steps 50 --embedding_path ./logs/5122022-09-04T22-55-01_tantanmen_train/checkpoints/embeddings_gs-6099.pt --ckpt_path ./models/ldm/text2img-large/model.ckpt --prompt "a photo of *"
usage: txt2img.py [-h] [--prompt [PROMPT]] [--outdir [OUTDIR]] [--skip_grid] [--skip_save] [--ddim_steps DDIM_STEPS]
                  [--plms] [--laion400m] [--fixed_code] [--ddim_eta DDIM_ETA] [--n_iter N_ITER] [--H H] [--W W]
                  [--C C] [--f F] [--n_samples N_SAMPLES] [--n_rows N_ROWS] [--scale SCALE] [--from-file FROM_FILE]
                  [--config CONFIG] [--ckpt CKPT] [--seed SEED] [--precision {full,autocast}]
txt2img.py: error: unrecognized arguments: --embedding_path ./logs/5122022-09-04T22-55-01_tantanmen_train/checkpoints/embeddings_gs-6099.pt --ckpt_path ./models/ldm/text2img-large/model.ckpt</pre>



<p>GitHubに書かれているコマンドが間違えている・・・<br>パラメータを「&#8211;ckpt_path」→「&#8211;ckpt」に修正</p>



<pre class="wp-block-preformatted">Traceback (most recent call last):
  File "scripts/stable_txt2img.py", line 287, in &lt;module&gt;
    main()
  File "scripts/stable_txt2img.py", line 277, in main
    Image.fromarray(grid.astype(np.uint8)).save(os.path.join(outpath, f'{prompt.replace(" ", "-")}-{grid_count:04}.jpg'))
  File "F:\Project\MachineLerning\Anaconda\envs\ldm\lib\site-packages\PIL\Image.py", line 2209, in save
    fp = builtins.open(filename, "w+b")
OSError: [Errno 22] Invalid argument: 'outputs/txt2img-samples\\anime,-girl,-japanese,-*-0000.jpg'</pre>



<p>scripts/stable_txt2img.py<br>277行目あたりを以下のように修正</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>                   # to image
                    grid = 255. * rearrange(grid, &#39;c h w -&gt; h w c&#39;).cpu().numpy()
                    prompt = prompt.replace(&quot;*&quot;, &quot;-&quot;)
                    Image.fromarray(grid.astype(np.uint8)).save(os.path.join(outpath, f&#39;{prompt.replace(&quot; &quot;, &quot;-&quot;)}-{grid_count:04}.jpg&#39;))
                    grid_count += 1</code></pre></div>



<p>今回のファインチューニングを利用するには、promptに * を入れる必要がある<br>ファイル名はpromptから生成される<br>Windowsではファイル名に * が利用できない<br>という流れでエラーになるので、*を無害な文字に変換してファイル名を生成します</p>



<h2 class="wp-block-heading">以下、広告</h2>


<div id="rinkerid259" class="yyi-rinker-contents   yyi-rinker-postid-259 yyi-rinker-no-item">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image"></div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
								ZOTAC（ゾタック） ZT-A30820F-10PLHR ZOTAC GAMING GeForce RTX 3080 AMP Holo LHR 12GB（LHR） / PCI Express 4.0 グラフィックスボード							</div>

			<div class="yyi-rinker-detail">
											</div>
						<ul class="yyi-rinker-links">
																	<li class="amazonlink">
						<a href="https://www.amazon.co.jp/gp/search?ie=UTF8&amp;keywords=RTX3080&amp;tag=monodon-22&amp;index=blended&amp;linkCode=ure&amp;creative=6339" rel="nofollow" class="yyi-rinker-link">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2FRTX3080%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link">楽天市場</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
													<li class="yahoolink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502&amp;url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3DRTX3080" rel="nofollow" class="yyi-rinker-link">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502" width="1" height="1" style="border:none;">					</li>
				                											</ul>
					</div>
	</div>
	</div>

<div id="rinkerid232" class="yyi-rinker-contents  yyi-rinker-postid-232 yyi-rinker-img-m yyi-rinker-catid-12 ">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image">
							<a href="https://af.moshimo.com/af/c/click?a_id=3394378&#038;p_id=54&#038;pc_id=54&#038;pl_id=616&#038;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E6%25A9%259F%25E6%25A2%25B0%25E5%25AD%25A6%25E7%25BF%2592%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/0074/9784295010074_1_2.jpg?_ex=128x128" width="128" height="128" class="yyi-rinker-main-img" style="border: none;" loading="lazy"></a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
									<a href="https://af.moshimo.com/af/c/click?a_id=3394378&#038;p_id=54&#038;pc_id=54&#038;pl_id=616&#038;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E6%25A9%259F%25E6%25A2%25B0%25E5%25AD%25A6%25E7%25BF%2592%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow">［第3版］Python機械学習プログラミング 達人データサイエンティストによる理論と実践 （top gear） [ Sebastian Raschka;Vahid Mirjalili ]</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">							</div>
			<div class="yyi-rinker-detail">
							<div class="credit-box">created by&nbsp;<a href="https://oyakosodate.com/rinker/" rel="nofollow noopener" target="_blank" >Rinker</a></div>
										<div class="price-box">
							</div>
						</div>
						<ul class="yyi-rinker-links">
																                    <li class="amazonlink">
						<a href="https://www.amazon.co.jp/gp/search?ie=UTF8&amp;keywords=%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92&amp;tag=monodon-22&amp;index=blended&amp;linkCode=ure&amp;creative=6339" rel="nofollow" class="yyi-rinker-link">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E6%25A9%259F%25E6%25A2%25B0%25E5%25AD%25A6%25E7%25BF%2592%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link">楽天市場</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
													<li class="yahoolink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502&amp;url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3D%25E6%25A9%259F%25E6%25A2%25B0%25E5%25AD%25A6%25E7%25BF%2592" rel="nofollow" class="yyi-rinker-link">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502" width="1" height="1" style="border:none;">					</li>
				                											</ul>
					</div>
	</div>
</div>
<p>投稿 <a href="https://sheltie-garage.xyz/tech/2022/09/stable-diffusion%e3%81%a7%e3%83%95%e3%82%a1%e3%82%a4%e3%83%b3%e3%83%81%e3%83%a5%e3%83%bc%e3%83%8b%e3%83%b3%e3%82%b0%e3%82%92%e8%a9%a6%e3%81%99%e3%81%8c%e3%80%81%e5%8b%95%e4%bd%9c%e3%81%97%e3%81%be/">Stable Diffusionでファインチューニング(Finetune)を試す</a> は <a href="https://sheltie-garage.xyz/tech">Sheltie Garage Tech</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sheltie-garage.xyz/tech/2022/09/stable-diffusion%e3%81%a7%e3%83%95%e3%82%a1%e3%82%a4%e3%83%b3%e3%83%81%e3%83%a5%e3%83%bc%e3%83%8b%e3%83%b3%e3%82%b0%e3%82%92%e8%a9%a6%e3%81%99%e3%81%8c%e3%80%81%e5%8b%95%e4%bd%9c%e3%81%97%e3%81%be/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>RTX2080搭載のWindows11マシンでStable Diffusionを動かす</title>
		<link>https://sheltie-garage.xyz/tech/2022/08/rtx2080%e6%90%ad%e8%bc%89%e3%81%aewindows11%e3%83%9e%e3%82%b7%e3%83%b3%e3%81%a7stable-diffusion%e3%82%92%e5%8b%95%e3%81%8b%e3%81%99/</link>
					<comments>https://sheltie-garage.xyz/tech/2022/08/rtx2080%e6%90%ad%e8%bc%89%e3%81%aewindows11%e3%83%9e%e3%82%b7%e3%83%b3%e3%81%a7stable-diffusion%e3%82%92%e5%8b%95%e3%81%8b%e3%81%99/#respond</comments>
		
		<dc:creator><![CDATA[monodon]]></dc:creator>
		<pubDate>Wed, 31 Aug 2022 13:10:17 +0000</pubDate>
				<category><![CDATA[AI・機械学習]]></category>
		<guid isPermaLink="false">https://sheltie-garage.xyz/tech/?p=250</guid>

					<description><![CDATA[<p>先日の記事でIntel MacにStable Diffusionの環境を構築して動かしましたが、画像生成に2時間近くかかったり、img2imgが動作しなかったりと早くも限界を迎えたため、RTX2080搭載のWindows [&#8230;]</p>
<p>投稿 <a href="https://sheltie-garage.xyz/tech/2022/08/rtx2080%e6%90%ad%e8%bc%89%e3%81%aewindows11%e3%83%9e%e3%82%b7%e3%83%b3%e3%81%a7stable-diffusion%e3%82%92%e5%8b%95%e3%81%8b%e3%81%99/">RTX2080搭載のWindows11マシンでStable Diffusionを動かす</a> は <a href="https://sheltie-garage.xyz/tech">Sheltie Garage Tech</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<p>先日の記事で<a href="https://sheltie-garage.xyz/tech/2022/08/intel-mac%e3%81%a7stable-diffusion%e3%82%92%e5%8b%95%e3%81%8b%e3%81%99/">Intel MacにStable Diffusionの環境を構築して動かし</a>ましたが、画像生成に2時間近くかかったり、img2imgが動作しなかったりと早くも限界を迎えたため、RTX2080搭載のWindowsPCに環境を構築しなおして遊ぶことにしました。<br>GPUを利用することで、CPUとは比較にならないくらいの速度で画像生成が行えるはずです。</p>



<h2 class="wp-block-heading">環境</h2>



<p>・Windows11<br>・GeForce RTX2080 VRAM 8G<br>・メモリ 24GB<br>・ゲーミングノート</p>



<h2 class="wp-block-heading">構築手順</h2>



<h3 class="wp-block-heading">Git For Windowsをインストール</h3>



<p>以下からダウンロードしてください<br><a href="https://gitforwindows.org/">Git for Windows</a></p>



<p>インストール時、いろいろと選択肢が出てきますが、すべてデフォルトでインストールしています</p>



<h3 class="wp-block-heading">Anacondaをインストール</h3>



<p>以下からダウンロードしてインストールしてください<br><a href="https://www.anaconda.com/products/distribution" target="_blank" rel="noreferrer noopener">https://www.anaconda.com/products/distribution</a></p>



<p>ちなみにAnacondaは一定の条件を満たす場合のみ無償で利用できます。<br>今後商用利用する場合は有償パッケージが必要になりますのでご注意ください</p>



<h3 class="wp-block-heading">Fork版のStable DiffusionをCloneする</h3>



<p>Anacondaをインストールすると、スタートメニュー内に「Anaconda Powershell Prompt(Anaconda)」ができていますので、こちらを起動して作業を進めていきます。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="466" height="326" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_001.png" alt="" class="wp-image-251" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_001.png 466w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_001-300x210.png 300w" sizes="auto, (max-width: 466px) 100vw, 466px" /></figure>



<p>cdコマンドを使って、適当なディレクトリに移動します。<br>自分はFドライブで作業しているので、以下のようにしました</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="452" height="39" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_002.png" alt="" class="wp-image-252" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_002.png 452w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_002-300x26.png 300w" sizes="auto, (max-width: 452px) 100vw, 452px" /></figure>



<p>Stable Diffusionをクローンします。<br>ここでは本家を利用せず、最適化されたStable Diffusionを利用します。<br>理由として、本家を動かすには10GB以上のVRAMが必要とのことで、自分のPCでは動きませんでした。<br>最適化されたFork版では4GBのメモリ量から動かすことができるため、こちらを利用します</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>git clone https://github.com/basujindal/stable-diffusion.git stable-diffusion-optimize
cd stable-diffusion-optimize</code></pre></div>



<h3 class="wp-block-heading">環境を構築する</h3>



<p>Cloneしたら、以下のコマンドで環境を構築します。Macの時のように、いろいろな手直しは必要ありません</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>conda env create -f environment.yaml
conda activate ldm</code></pre></div>



<h3 class="wp-block-heading">モデルファイルを配置</h3>



<p>Hugging Faceからモデルをダウンロードします(要会員登録)<br><a href="https://huggingface.co/CompVis/stable-diffusion-v-1-4-original" target="_blank" rel="noreferrer noopener">https://huggingface.co/CompVis/stable-diffusion-v-1-4-original</a></p>



<p>ダウンロードしたファイルを「model.ckpt」にリネームし、以下のようなフォルダ構成となるように配置します</p>



<p><strong><em>stable-diffusion-optimize\models\ldm\stable-diffusion-v1\model.ckpt</em></strong></p>



<h2 class="wp-block-heading">早速実行してみる</h2>



<p>これで環境構築は終了で、もう動作可能になっているはずです。<br>本家の動作用コマンドを実行し、確認してみましょう</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>python optimizedSD/optimized_txt2img.py --prompt &quot;kawaii girl smile&quot; --H 512 --W 512 --seed 27 --n_iter 2 --n_samples 10 --ddim_steps 50</code></pre></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="972" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_004-1024x972.png" alt="" class="wp-image-253" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_004-1024x972.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_004-300x285.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_004-768x729.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_004.png 1073w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>コマンドを実行すると、ものすごい勢いでGPUに負荷がかかり始めます</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="471" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_005-1024x471.png" alt="" class="wp-image-254" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_005-1024x471.png 1024w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_005-300x138.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_005-768x353.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_005.png 1054w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>自分の環境では10分ほどで計算が終了しました。Intel Macの1時間40分とは比較にならないくらい早いですね!(パラメータの違いもありますが・・・)</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="768" height="412" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_006.png" alt="" class="wp-image-255" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_006.png 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_006-300x161.png 300w" sizes="auto, (max-width: 768px) 100vw, 768px" /></figure>



<p>生成された画像はこちら かわいい、少女、笑顔　の呪文で生成したので、それっぽい画像が生成されました。<br>サムネで見るとよくできていますが、拡大してみると一部顔の形が崩れていたりするのでちょっと怖い・・・(不気味の谷現象)<br>AIに画像を生成させるのであれば、風景やファンタジー調のものが合うのかなと感じました</p>



<h2 class="wp-block-heading">img2imgも動かす!</h2>



<p>Intel Macでは動かなかった、img2imgも動かします。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>python optimizedSD/optimized_img2img.py --prompt &quot;hololive shirakami fubuki vtuber&quot; --init-img ./shitae.jpg --strength 0.8 --n_iter 2 --n_samples 10 --H 512 --W 512</code></pre></div>



<p>下絵に利用したのは、前回も登場した白上フブキちゃんですね</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="768" height="1024" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/shitae-1.jpg" alt="" class="wp-image-256" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/shitae-1.jpg 768w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/shitae-1-225x300.jpg 225w" sizes="auto, (max-width: 768px) 100vw, 768px" /></figure>



<p>実行すると、かなりGPUメモリがやばい状態に・・・</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="789" height="363" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_007.png" alt="" class="wp-image-257" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_007.png 789w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_007-300x138.png 300w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_007-768x353.png 768w" sizes="auto, (max-width: 789px) 100vw, 789px" /></figure>



<p>生成された画像はこちら</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="749" height="949" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_008.png" alt="" class="wp-image-258" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_008.png 749w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/20220831_008-237x300.png 237w" sizes="auto, (max-width: 749px) 100vw, 749px" /></figure>



<p class="has-vivid-red-color has-text-color has-large-font-size"><strong>あなたたちどちら様ですか？</strong></p>



<p>まだまだうまく画像が生成できないので、使い方の勉強が必要ですね</p>



<h2 class="wp-block-heading">以上です</h2>



<p>GPU搭載のWindowsマシンでStable Diffusionを動かしてみましたという記事でした。<br>良いGPUを積んでいるのであれば画像生成も常識的な時間で完了するため、ついいろいろと試してみたくなります。</p>



<p>仮想通貨の暴落もあり、グラボの価格も落ち着いてきたそうなので、Stable Diffusionで遊ぶためにグラボを買い替えるというのもありかもしれないですね。<br>自分のはノートPCなので、交換できませんが・・・</p>


<div id="rinkerid259" class="yyi-rinker-contents   yyi-rinker-postid-259 yyi-rinker-no-item">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image"></div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
								ZOTAC（ゾタック） ZT-A30820F-10PLHR ZOTAC GAMING GeForce RTX 3080 AMP Holo LHR 12GB（LHR） / PCI Express 4.0 グラフィックスボード							</div>

			<div class="yyi-rinker-detail">
											</div>
						<ul class="yyi-rinker-links">
																	<li class="amazonlink">
						<a href="https://www.amazon.co.jp/gp/search?ie=UTF8&amp;keywords=RTX3080&amp;tag=monodon-22&amp;index=blended&amp;linkCode=ure&amp;creative=6339" rel="nofollow" class="yyi-rinker-link">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2FRTX3080%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link">楽天市場</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
													<li class="yahoolink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502&amp;url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3DRTX3080" rel="nofollow" class="yyi-rinker-link">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502" width="1" height="1" style="border:none;">					</li>
				                											</ul>
					</div>
	</div>
	</div>

<div id="rinkerid260" class="yyi-rinker-contents   yyi-rinker-postid-260 yyi-rinker-no-item">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image"></div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
								ASUS TUF-RTX3060-O12G-V2-GAMING (PCパーツ グラフィックボード LHR メーカー保証付き)【新品】★							</div>

			<div class="yyi-rinker-detail">
											</div>
						<ul class="yyi-rinker-links">
																	<li class="amazonlink">
						<a href="https://www.amazon.co.jp/gp/search?ie=UTF8&amp;keywords=RTX3060&amp;tag=monodon-22&amp;index=blended&amp;linkCode=ure&amp;creative=6339" rel="nofollow" class="yyi-rinker-link">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2FRTX3060%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link">楽天市場</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
													<li class="yahoolink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502&amp;url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3DRTX3060" rel="nofollow" class="yyi-rinker-link">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502" width="1" height="1" style="border:none;">					</li>
				                											</ul>
					</div>
	</div>
	</div><p>投稿 <a href="https://sheltie-garage.xyz/tech/2022/08/rtx2080%e6%90%ad%e8%bc%89%e3%81%aewindows11%e3%83%9e%e3%82%b7%e3%83%b3%e3%81%a7stable-diffusion%e3%82%92%e5%8b%95%e3%81%8b%e3%81%99/">RTX2080搭載のWindows11マシンでStable Diffusionを動かす</a> は <a href="https://sheltie-garage.xyz/tech">Sheltie Garage Tech</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sheltie-garage.xyz/tech/2022/08/rtx2080%e6%90%ad%e8%bc%89%e3%81%aewindows11%e3%83%9e%e3%82%b7%e3%83%b3%e3%81%a7stable-diffusion%e3%82%92%e5%8b%95%e3%81%8b%e3%81%99/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Stable Diffusionでimg2imgを動かしたかった・・・</title>
		<link>https://sheltie-garage.xyz/tech/2022/08/stable-diffusion%e3%81%a7img2img%e3%82%92%e5%8b%95%e3%81%8b%e3%81%97%e3%81%9f%e3%81%8b%e3%81%a3%e3%81%9f%e3%83%bb%e3%83%bb%e3%83%bb/</link>
					<comments>https://sheltie-garage.xyz/tech/2022/08/stable-diffusion%e3%81%a7img2img%e3%82%92%e5%8b%95%e3%81%8b%e3%81%97%e3%81%9f%e3%81%8b%e3%81%a3%e3%81%9f%e3%83%bb%e3%83%bb%e3%83%bb/#respond</comments>
		
		<dc:creator><![CDATA[monodon]]></dc:creator>
		<pubDate>Tue, 30 Aug 2022 13:12:45 +0000</pubDate>
				<category><![CDATA[AI・機械学習]]></category>
		<guid isPermaLink="false">https://sheltie-garage.xyz/tech/?p=242</guid>

					<description><![CDATA[<p>前回の記事の続きです。Stable Diffusionのtxt2imgが動作すること前提で話が進みます ただ、先に断っておくと、動きませんでした。スクリプトは起動しましたが 3時間くらい放置しても、2%くらいしか処理が進 [&#8230;]</p>
<p>投稿 <a href="https://sheltie-garage.xyz/tech/2022/08/stable-diffusion%e3%81%a7img2img%e3%82%92%e5%8b%95%e3%81%8b%e3%81%97%e3%81%9f%e3%81%8b%e3%81%a3%e3%81%9f%e3%83%bb%e3%83%bb%e3%83%bb/">Stable Diffusionでimg2imgを動かしたかった・・・</a> は <a href="https://sheltie-garage.xyz/tech">Sheltie Garage Tech</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<p><a href="https://sheltie-garage.xyz/tech/2022/08/intel-mac%e3%81%a7stable-diffusion%e3%82%92%e5%8b%95%e3%81%8b%e3%81%99/">前回の記事</a>の続きです。Stable Diffusionのtxt2imgが動作すること前提で話が進みます</p>



<p>ただ、先に断っておくと、動きませんでした。スクリプトは起動しましたが</p>



<p class="has-vivid-red-color has-text-color has-medium-font-size"><strong>3時間くらい放置しても、2%くらいしか処理が進まなかったので諦めました</strong></p>



<p>それでも実行してみたい！という方のために記録だけは残しておきます・・・</p>



<h2 class="wp-block-heading">スクリプトを修正する</h2>



<p>cpuモードで動作するように以下のファイルを編集します</p>



<p><strong>scripts/img2img.py</strong><br>43行目辺りの部分を以下のように修正</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>    # model.cuda()
    model.to(&#39;cpu&#39;)
    model.eval()
    return model</code></pre></div>



<p>203行目辺りの部分を以下のように修正</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>    # device = torch.device(&quot;cuda&quot;) if torch.cuda.is_available() else torch.device(&quot;cpu&quot;)
    device = torch.device(&quot;cpu&quot;)
    model = model.to(device)</code></pre></div>



<p>247行目辺りの部分を以下のように修正</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>    with torch.no_grad():
        # with precision_scope(&quot;cuda&quot;):
        with precision_scope(&quot;cpu&quot;):
            with model.ema_scope():</code></pre></div>



<p><strong>ldm/models/diffusion/ddim.py</strong><br>21行目辺りのif attr.device != torch.device(“cuda”):周辺を以下の通り修正</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>#            if attr.device != torch.device(&quot;cuda&quot;):
#                attr = attr.to(torch.device(&quot;cuda&quot;))
            if attr.device != torch.device(&quot;cpu&quot;):
                attr = attr.to(torch.float32).to(torch.device(&quot;cpu&quot;)).contiguous()
        setattr(self, name, attr)</code></pre></div>



<p>以上の修正で動くはずです</p>



<h2 class="wp-block-heading">指示絵の準備</h2>



<p>生成する画像のヒントとなる指示絵を準備します。<br>お絵かきソフトを利用して準備しましょう。今回は以下の画像を指示絵に利用しました。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="689" height="919" src="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/shitae.jpg" alt="" class="wp-image-243" srcset="https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/shitae.jpg 689w, https://sheltie-garage.xyz/tech/wp-content/uploads/2022/08/shitae-225x300.jpg 225w" sizes="auto, (max-width: 689px) 100vw, 689px" /></figure>



<p>手持ちの白上フブキちゃんを写真に撮り、トレースしたものになります。<br>この下手くそなイラストが、果たしてどのように変化するのか・・・</p>



<p>コマンドは以下のとおりです</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>python scripts/img2img.py --prompt &quot;shirakami hubuki hololive illustlated by nagishiro mito&quot; --init-img ./shitae.JPG --strength 0.8 --precision full</code></pre></div>



<h2 class="wp-block-heading">以上です</h2>



<p>上記を実行したところ、ひとまずスクリプトは起動しましたが、冒頭に記載した通り処理が全く進まなかったので諦めました。<br>やはり、CPUで機械学習を処理するのは無理があるようなので、週末にWIndowsPC(RTX2080搭載のゲーミングノート)で再挑戦したいと思います</p>


<div id="rinkerid245" class="yyi-rinker-contents   yyi-rinker-postid-245 yyi-rinker-no-item">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image"></div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
								ルミナスボックス 白上フブキ 1/7スケール PVC製 塗装済み完成品フィギュア							</div>

			<div class="yyi-rinker-detail">
											</div>
						<ul class="yyi-rinker-links">
																	<li class="amazonlink">
						<a href="https://www.amazon.co.jp/gp/search?ie=UTF8&amp;keywords=%E7%99%BD%E4%B8%8A%E3%83%95%E3%83%96%E3%82%AD&amp;tag=monodon-22&amp;index=blended&amp;linkCode=ure&amp;creative=6339" rel="nofollow" class="yyi-rinker-link">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E7%2599%25BD%25E4%25B8%258A%25E3%2583%2595%25E3%2583%2596%25E3%2582%25AD%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link">楽天市場</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
													<li class="yahoolink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502&amp;url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3D%25E7%2599%25BD%25E4%25B8%258A%25E3%2583%2595%25E3%2583%2596%25E3%2582%25AD" rel="nofollow" class="yyi-rinker-link">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502" width="1" height="1" style="border:none;">					</li>
				                											</ul>
					</div>
	</div>
	</div>

<div id="rinkerid246" class="yyi-rinker-contents  yyi-rinker-postid-246 yyi-rinker-img-m yyi-rinker-catid-12 ">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image">
							<a href="https://af.moshimo.com/af/c/click?a_id=3394378&#038;p_id=54&#038;pc_id=54&#038;pl_id=616&#038;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E7%2599%25BD%25E4%25B8%258A%25E3%2583%2595%25E3%2583%2596%25E3%2582%25AD%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/ookinidesu/cabinet/08438100/compass1654154556.jpg?_ex=128x128" width="128" height="128" class="yyi-rinker-main-img" style="border: none;" loading="lazy"></a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
									<a href="https://af.moshimo.com/af/c/click?a_id=3394378&#038;p_id=54&#038;pc_id=54&#038;pl_id=616&#038;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E7%2599%25BD%25E4%25B8%258A%25E3%2583%2595%25E3%2583%2596%25E3%2582%25AD%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow">ホロライブ POP UP PARADE 白上フブキ&#038;大神ミオ 2体セット フィギュア フィギア ホビー おもちゃ キャラクター グッズ キャラクターグッズ ポップアップパレード 白上フブキ 大神ミオ vtuber バーチャルユーチューバー 美少女フィギュア</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">							</div>
			<div class="yyi-rinker-detail">
							<div class="credit-box">created by&nbsp;<a href="https://oyakosodate.com/rinker/" rel="nofollow noopener" target="_blank" >Rinker</a></div>
										<div class="price-box">
							</div>
						</div>
						<ul class="yyi-rinker-links">
																                    <li class="amazonlink">
						<a href="https://www.amazon.co.jp/gp/search?ie=UTF8&amp;keywords=%E7%99%BD%E4%B8%8A%E3%83%95%E3%83%96%E3%82%AD&amp;tag=monodon-22&amp;index=blended&amp;linkCode=ure&amp;creative=6339" rel="nofollow" class="yyi-rinker-link">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E7%2599%25BD%25E4%25B8%258A%25E3%2583%2595%25E3%2583%2596%25E3%2582%25AD%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link">楽天市場</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3394378&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
													<li class="yahoolink">
						<a href="https://af.moshimo.com/af/c/click?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502&amp;url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3D%25E7%2599%25BD%25E4%25B8%258A%25E3%2583%2595%25E3%2583%2596%25E3%2582%25AD" rel="nofollow" class="yyi-rinker-link">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=3442618&amp;p_id=1225&amp;pc_id=1925&amp;pl_id=18502" width="1" height="1" style="border:none;">					</li>
				                											</ul>
					</div>
	</div>
</div>
<p>投稿 <a href="https://sheltie-garage.xyz/tech/2022/08/stable-diffusion%e3%81%a7img2img%e3%82%92%e5%8b%95%e3%81%8b%e3%81%97%e3%81%9f%e3%81%8b%e3%81%a3%e3%81%9f%e3%83%bb%e3%83%bb%e3%83%bb/">Stable Diffusionでimg2imgを動かしたかった・・・</a> は <a href="https://sheltie-garage.xyz/tech">Sheltie Garage Tech</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sheltie-garage.xyz/tech/2022/08/stable-diffusion%e3%81%a7img2img%e3%82%92%e5%8b%95%e3%81%8b%e3%81%97%e3%81%9f%e3%81%8b%e3%81%a3%e3%81%9f%e3%83%bb%e3%83%bb%e3%83%bb/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
