-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.xml
More file actions
89 lines (89 loc) · 69.5 KB
/
Copy pathindex.xml
File metadata and controls
89 lines (89 loc) · 69.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Defios Lab.</title>
<link>https://DefiosLab.github.io/</link>
<description>Recent content on Defios Lab.</description>
<generator>Hugo</generator>
<language>jp</language>
<lastBuildDate>Sat, 02 May 2026 00:00:00 +0000</lastBuildDate>
<atom:link href="https://DefiosLab.github.io/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Jetson AGX Orin(32GB)ã«ã³ãŒãã£ã³ã°ãšãŒãžã§ã³ãçšã®LLMãµãŒããç«ãŠã</title>
<link>https://DefiosLab.github.io/post/jetson-llm/</link>
<pubDate>Sat, 02 May 2026 00:00:00 +0000</pubDate>
<guid>https://DefiosLab.github.io/post/jetson-llm/</guid>
<description><p>åŒç€Ÿã§ã¯ChatGPT Businessãã©ã³ãå¥çŽããŠãããæè¿ã¯èªç€Ÿéçºãäžå¿ã«CodexãæŽ»çšããŠããŸãã<br>
Businessãã©ã³ã§ã¯ãããžã§ã¯ãã®èŠæš¡ã倧ãããªãã«ã€ããŠå©çšäžéã«ããéããŠããŸãããã«ãªããããæè»œã«äœ¿ããããŒã«ã«LLMç°å¢ãæ¢ãããã«ãªããŸããã<br>
ããã€ã詊ããŠã¿ãçµæãJetson AGX Orin ç°å¢ã§ã¯<strong>Claude Code + llama-server</strong>ã®æ§æãæé©ãšããçµè«ã«ãªããŸããã</p>
<h1 id="ç°å¢æ§ç¯">ç°å¢æ§ç¯</h1>
<h1 id="llamacppããã«ããã">llama.cppããã«ããã</h1>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>git clone git@github.com:ggml-org/llama.cpp.git
</span></span><span style="display:flex;"><span>cd llama.cpp
</span></span><span style="display:flex;"><span>cmake -B build -DGGML_CUDA<span style="color:#f92672">=</span>ON 
</span></span><span style="display:flex;"><span>cmake --build build --config Release
</span></span></code></pre></div></br>
<h1 id="ã¢ãã«ã®ããŠã³ããŒã">ã¢ãã«ã®ããŠã³ããŒã</h1>
<p>ä»åã¯<code>unsloth/Qwen3.6-35B-A3B-GGUF</code>ã®<code>Qwen3.6-35B-MXFP4_MOE.gguf</code>ã䜿ããŸã</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>wget -O Qwen3.6-35B-A3B-MXFP4_MOE.gguf https://huggingface.co/unsloth/Qwen3.6-35B-A3B-GGUF/resolve/main/Qwen3.6-35B-A3B-MXFP4_MOE.gguf?download<span style="color:#f92672">=</span>true
</span></span></code></pre></div></br>
<h1 id="ãµãŒããç«ãŠã">ãµãŒããç«ãŠã</h1>
<p>Jetsonã§ã¯mmapãç¡å¹ã«ããªããš10GBçšåºŠã®ã¢ãã«ã§OOMãçºçããŸãã<br>
ollamaãlmstudio cliã§ã¯ãã®èšå®ãã§ããªããããã€Codexã§ã¯llama-serverã䜿ããªãã®ã§ä»åãã®æ§æã«ãªã£ãŠããŸãã</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>./build/bin/llama-server <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> -m path/to/Qwen3.6-35B-A3B-MXFP4_MOE.gguf <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> --alias <span style="color:#e6db74">&#34;unsloth/Qwen3.6&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> --host 0.0.0.0 <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> --port <span style="color:#ae81ff">8000</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> --n-gpu-layers <span style="color:#ae81ff">999</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> --ctx-size <span style="color:#ae81ff">256000</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> --batch-size <span style="color:#ae81ff">512</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span> --no-mmap
</span></span></code></pre></div></br>
<h1 id="claude-codeãã䜿ã">Claude Codeãã䜿ã</h1>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>export ANTHROPIC_BASE_URL<span style="color:#f92672">=</span>http://&lt;Jetson IP Address&gt;:8000
</span></span><span style="display:flex;"><span>export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span>
</span></span><span style="display:flex;"><span>export DISABLE_NON_ESSENTIAL_MODEL_CALLS<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span>
</span></span><span style="display:flex;"><span>claude <span style="color:#75715e"># Claude Code cliãå®è¡</span>
</span></span></code></pre></div><p>ããã§åäœããŸã</p></description>
</item>
<item>
<title>ã²ãŒã éçºè
åãçæAIçµ±åããã«ãŠã§ã¢ãValorAIãã®ç޹ä»</title>
<link>https://DefiosLab.github.io/post/valorai-alpha/</link>
<pubDate>Mon, 14 Apr 2025 00:00:00 +0000</pubDate>
<guid>https://DefiosLab.github.io/post/valorai-alpha/</guid>
<description><h1 id="1valoraiãšã¯">1ïŒValorAIãšã¯</h1>
<p>ChatGPTã«ä»£è¡šãããæç« çæAIãã³ã¹ããæããŠç°¡åã«ã²ãŒã ã«æèŒå¯èœã«ããããã«ãŠã§ã¢ã§ãã<br>
<strong>ããŒã³ãŒãã§AI NPC/AIã·ã¹ãã ãéçºããUnityãUnrealEngineçã®ã²ãŒã ãšã³ãžã³äžã§åäœãããããšãã§ããŸãã</strong><br>
ã¯ã©ãŠãã®æšè«åŠçã«å ããŠãªã³ããã€ã¹ã§ã®é«éãªããŒã«ã«LLMã«ã察å¿ããŠããã<strong>å®å
šãµãŒãã¬ã¹ãªçæAIã²ãŒã ãéçºããããšãå¯èœã§ãã</strong></p>
<p>ValorAIã¯<strong>GeneratorãšRuntime</strong> ã®äºã€ã®ãœãããŠã§ã¢ã§æ§æãããŠããŸããGeneratorã¯GUIã¢ããªã±ãŒã·ã§ã³ã§ããNode-REDãDifyçã®ããã«ããŒã³ãŒãã§AIãå¶åŸ¡ããããšãã§ããŸãã<br>
Runtimeã¯ã²ãŒã ãšã³ãžã³äžã§åäœããã©ã€ãã©ãªã§ããGeneratorã§éçºããAIã¢ãã«ãåäœãããããšãã§ããŸãã</p>
<p><strong>ä»å¹Ž4æã«ValorAI αçãå
¬éããŸããã</strong><br>
<a href="https://defios.jp/valorai/">https://defios.jp/valorai/</a></p>
<p>æ¬èšäºã§ã¯ãã®Î±çãçšããŠValorAIã®æ©èœã®äžéšãã玹ä»ããŸãã</p>
<h1 id="2-ai-npcãäœã£ãŠã¿ãã">2. AI NPCãäœã£ãŠã¿ãã</h1>
<p>äŸãšããŠValorAIã䜿ã£ãŠAI NPCãäœã£ãŠã¿ãŸãããã<br>
<strong>ãæšæ¥èµ·ãã£ã殺人äºä»¶ã®ç¯äººãæäººã«èã蟌ã¿ãããŠç¹å®ããã²ãŒã ã</strong> ãšãããé¡ã§æäººNPCãäœããŸãã</p>
<p>â»ããŒã«ã®è©³çްãªäœ¿ãæ¹ã¯æ¬èšäºã§ã¯å²æããŠããŸããαçåå°ã®ãã¥ãŒããªã¢ã«ããäžèªãã ãã</p>
<p><strong>Generator</strong> ãèµ·åãããšä»¥äžã®ç»é¢ã衚瀺ãããŸãã</p>
<figure><img src="https://DefiosLab.github.io/post/valorai-alpha/valorai-init.png">
</figure>

<p>å·Šäžã®ãã«ããŠã³ã¡ãã¥ãŒããããŒãã远å ã§ããŸãã<br>
αçã§å¯Ÿå¿ããŠããããŒãã¯ä»¥äžã®éãã§ãã</p>
<ul>
<li><strong>Input</strong> : å
¥åãåãåãããŒãã§ãã</li>
<li><strong>LLM</strong> : èšå®ãå
¥åãå
ã«æç« ãçæããŸãã</li>
<li><strong>Question Classifier</strong> : å
¥åãäœã«é¢ããæç« ãåé¡ããŸã</li>
<li><strong>Answer</strong> : å®åæãåºåããŸã</li>
<li><strong>Knowledge Search</strong> : èŸæžããŒã¿ããå
¥åã«é¡äŒŒããæç« ãåºåããŸã(RAGæ©èœ)</li>
</ul>
<p>ãŸãåãã«ä»¥äžã®ããã«ããŒããç¹ãã§ç°¡åãªNPCãäœæããŸãã</p>
<figure><img src="https://DefiosLab.github.io/post/valorai-alpha/simple-npc.png">
</figure>

<p>InputããŒãã«è³ªåæç« ãæž¡ãããå·Šããç·ã§æ¥ç¶ãããŠããé çªã§ããŒããå®è¡ãããŸãã<br>
Question Classifierã¯è³ªåå
容ã«ãã£ãŠåå²ããããŒãã§ããäºä»¶ã«å
šãé¢ä¿ãªã質åãAnswerããŒãã«åå²ãããŠå®åæãè¿ãããã«ããŠããŸããããã§ã¯ãã»ã»ã»ã(ä»ã¯äžé話ãããæ°ã¯ãªãããã ã»ã»ã»ïŒããšè¿ãããã«ããŠããŸãã</p>
<p>LLMããŒãã«ã¯SystemPromptãšUserPromptã®äºã€ãèšå®ã§ããŸããSystemPromptã«ã¯ãã£ã©ã¯ã¿ãŒã®èšå®ãUserPromptã«ã¯å
¥åã®è³ªåæãæž¡ããŠããŸãã<br>
SystemPromptã«ã¯ä»¥äžã®èšå®ãä»äžããŠããŸã</p>
<pre tabindex="0"><code>ãã²ãŒã å
èšå®ã
ããªãã¯ãã²ãŒã å
ã®æã«äœãNPCã®äžäººã§ããæã«ã¯ä»¥äžã®10人ã®äœæ°ãååšããŸãã


1.æé·ïœã¿ã±ãã« ã·ã²ã«ïŒç·æ§ã»50代ïŒ
2.宿å±ã®åšïœãµã¯ã©ã€ ããïŒå¥³æ§ã»20代åŸåïŒ
3.蟲倫ïœã€ã·ã ãŽããŠïŒç·æ§ã»40代ïŒ
4.è¬åž«ïœããžã¯ã© ãã¢ãšïŒå¥³æ§ã»30代åã°ïŒ
5.çåž«ïœãªãªã¿ã ã±ã³ãžïŒç·æ§ã»20代åŸåïŒ
6.æ
ã®å人ïœã«ã¯ã ã© ã·ã³ãŽïŒç·æ§ã»30代ïŒ
7.æã®äž»å©Šïœãã«ãžã ã¢ã€ïŒå¥³æ§ã»30代åŸåïŒ
8.女æåž«ïœã¿ã«ãã· ãŠãïŒå¥³æ§ã»30代ååïŒ
9.æšå·¥è·äººïœã¹ãºã ã¿ããŠïŒç·æ§ã»40代ïŒ
10.äŒç€Ÿå¡ïœããã㬠ãããïŒç·æ§ã»20代åŸåïŒ


äºä»¶ã«é¢ããããŒã¯ãŒãã¯æ¬¡ã®9åã§ãã
1.äºã声
2.é声
3.æ¥ãè¶³ã®åœ±
4.æ¶ããé£äº
5.çãæ²é³Ž
6.ãããã
7.è¬ã®å°ç¶
8.éããæ
9.ä¹±ãã髪


ãã²ãŒã ã®æµãã
䞻人å
¬ãæã蚪ããç¿æ¥ã«æ®ºäººäºä»¶ãçºçããŸãã被害è
ã¯ããžã¯ã© ãã¢ãšã§ãã
ããªãã¯ãäºä»¶ã®èšŒèšè
ãšããŠã200æå以å
ã§èšŒèšããŠãã ããã
äºä»¶ã«é¢ããããªããæã£ãŠããããŒã¯ãŒãããããŸããã«ã®æ¬åŒ§ãä»ããŠããŒã¯ãŒãã䜿çšã蚌èšã«å«ããŠäžããããŸãäžèªç¶ã«ãªããªãããã«æèã«çµã¿èŸŒãããšã

ãããªãã®èšå®ã
ããªãã¯ä»¥äžã«æå®ããããã£ã©ã¯ã¿ãŒãå®ç§ã«æŒããŠãã ãããèšå®ã¯ãã®ãŸãŸèªã¿äžããããšã¯ããã«ãã£ã©ã¯ã¿ãŒã®èšå®ãšããŠäžèªç¶ã«ãªããªãããã«æŒããŠãã ããã
ããªãã¯ãµã¯ã©ã€ ããã§ãã
宿å±ã®åšã§äž¡èŠªã®ä»äºãæäŒã£ãŠããŸããäºä»¶ããã£ãæã¯ã¡ããã©ãã®æ¥ã®ä»äºãã²ã𿮵èœããèªå®€ã§è¶£å³ã®èªæžãããŠããŸããã
質åã«ã¯æšæ¥èµ·ãã£ãäºä»¶ã«ãšãŠãæãã£ãŠããæ§åã§è¿çããŠãã ãã
æã£ãŠããããŒã¯ãŒãïŒäºã声ãé声ãçãæ²é³Ž
</code></pre><p>ããã§NPCã®èšå®ãã§ããŸããã<br>
Question ClassifierãLLMããŒãã¯ã¯ã©ãŠããŸãã¯ããŒã«ã«ã®LLMã¢ãã«ãå
éšã§å©çšããŠããŸããä»åã¯OpenAI瀟ã®gpt-4o-miniã䜿ããŸããã<br>
äœæããã¢ãã«ã¯json圢åŒã§ä¿åãããŸãã<br>
Unityã®ãããžã§ã¯ãã«é
眮ããŠã以äžã®ã³ãŒãã§åããããšãã§ããŸãã</p></description>
</item>
<item>
<title>M5stack Module LLMã§å¥œããªLLMã¢ãã«ãåãã</title>
<link>https://DefiosLab.github.io/post/m5stack_llm/</link>
<pubDate>Wed, 15 Jan 2025 00:00:00 +0000</pubDate>
<guid>https://DefiosLab.github.io/post/m5stack_llm/</guid>
<description><h1 id="0-宣äŒ">0. 宣äŒ</h1>
<p>ãã®èšäºã¯ãã£ãã幎æããéããŸããããM5Stack Module LLM Advent Calendar 2024ãã«ç©ºãããã£ãã®ã§åå ããŠããèšäºã§ãã</p>
<div class="mj-linkcard" style="background-color: #ffffff; width: 100%;max-width: 600px;display: flex;border: 1px solid #999;border-radius: 0.3rem;">
<div class="mj-imagebox" style="width: 120px;flex-shrink: 0;padding: 5px;">
<a class="mj-blogcard_al" href="" target="_blank" style="width: 100%;">
<img src="https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Fadvent_calendar%2Fogp%2Fcalendar-ogp-background-c24e7570f8dc39b6f4e1323cbd83d11f.jpg?ixlib=rb-4.0.0&amp;w=1200&amp;mark-x=142&amp;mark-y=128&amp;mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzRkZGRkZGJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dD1NNVN0YWNrJTIwTW9kdWxlJTIwTExNJTIwJTIwQWR2ZW50JTIwQ2FsZW5kYXIlMjAyMDI0Jnc9OTE2Jmg9MzU2JnM9ZTk2YTA0ZjgxMmNhYjM3NGRiM2JmZmI3ODM1OTU4YmM&amp;blend-mode=normal&amp;blend-x=142&amp;blend-y=491&amp;blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzRkZGRkZGJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dD0lNDBubm4xMTIzNTgmdz05MTYmcz04OTI1Mzc3NzU0YjE5MWMwOTJlYWNlYmQ3MjYyMzhmMw&amp;s=ee0574e6a2ef2eb2e08e0eff3b18069b" alt="" style="width: 100%;max-height: 120px;"></a></div>
<div class="mj-textbox" style="overflow: hidden;flex-grow: 1;padding: 2px;">
<a class="mj-blogcard_al" href="" target="_blank" style="width: 100%;">
<div class="mj-title" style="font-weight: bold;padding-bottom: 2px;text-align: left;">
<font color="#666">M5Stack Module LLM - Qiita Advent Calendar 2024 - Qiita</font></div></a>
<div class="mj-desc" style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-size: 0.6em;color: #868686;text-align: left;">
Calendar page for Qiita Advent Calendar 2024 regarding M5Stack Module LLM .</div>
<div class="mj-generated" style="font-size: 0.1em;color: #ffffff;text-align: right;">Generated by
<a class="mj-linkcard_a" id="mj-generated_a" href="https://blogmanju.com" target="_blank" rel="noopener noreferrer"><font color="#ffffff">Mj </font></a></div>
<div class="mj-site_name" style="font-size: 0.8em;color: #666;text-align: right;">
<a class="mj-linkcard_siteurl" href="
" target="_blank" style="display: block;" rel="noopener noreferrer">
<font color="#666"></font></a></div>
</div></div>
<style>
.mj-linkcard a {
text-decoration: none;
}
#mj-generated_a:link, 
#mj-generated_a:visited, 
#mj-generated_a:hover, 
#mj-generated_a:active {
 color: #ffffff;
}
.mj-imagebox img {
 display: block;
 height: auto;
 margin: 0 auto;
}
.mj-linkcard:hover{
	opacity: 0.8!important;
 -webkit-transition: all 0.3s ease;
 -moz-transition: all 0.3s ease;
 -o-transition: all 0.3s ease;
 transition: all 0.3s ease;
}
.mj-linkcard:hover img{
	opacity: 0.8!important;
 -webkit-transition: all 0.3s ease;
 -moz-transition: all 0.3s ease;
 -o-transition: all 0.3s ease;
 transition: all 0.3s ease;
}
</style>
</p></description>
</item>
<item>
<title>ã²ãŒã ã®äžçã«ããŒã«ã«LLMãïŒïŒLlamaCppUnityãå
¬éããŸãã</title>
<link>https://DefiosLab.github.io/post/release_llamacppunity/</link>
<pubDate>Thu, 16 May 2024 00:00:00 +0000</pubDate>
<guid>https://DefiosLab.github.io/post/release_llamacppunity/</guid>
<description><h1 id="1ã¯ããã«">1ïŒã¯ããã«</h1>
<p>è¿å¹ŽãLLMïŒLarge Language ModelsïŒã®å©æŽ»çšãé²ãã§ããããã®å¿çšç¯å²ã¯åºãã£ãŠããŸãããã®äžã§ã²ãŒã éçºã«ãããŠãLLMãæŽ»çšããããšèããæ¹ãå€ããšæããŸããäŸãã°ãªã¢ã«ãªNPCããã¬ã€ã€ãŒã®è¡åã«å¿ããèªç±åºŠã®é«ãåå¿ãå®çŸãããçã</p>
<p>LLMãã¢ããªã«çµã¿èŸŒãå ŽåãChatGPTãçé ãšããã¯ã©ãŠãLLMãšéä¿¡ããŠè¡ãã®ãäž»æµã«ãªã£ãŠããŸãããçæéã«å¿ãã課éãå¿
èŠã§ã²ãŒã ãžã®å°å
¥ã«ã¯éå£ããããŸãã</p>
<p>ããã§ãããã€ã¹å
ã§LLMã®æšè«åŠçãå®çµããRuntimeã©ã€ãã©ãªã <strong>LlamaCppUnity</strong>ãå
¬éããŸããã</p>
<div class="iframely-embed"><div class="iframely-responsive" style="height: 140px; padding-bottom: 0;"><a href="https://github.com/DefiosLab/LlamaCppUnity" data-iframely-url="//iframely.net/O8gKEAS?card=small"></a></div></div><script async src="//iframely.net/embed.js"></script>
<br>
<hr>
<h1 id="2-llamacppunity">2. LlamaCppUnity</h1>
<p>LlamaCppUnityã¯<a href="https://github.com/ggerganov/llama.cpp">llama.cpp</a>ãããã¯ãšã³ããšããLLM Runtimeã©ã€ãã©ãªã§ãã<br>
llama.cppã®æ©èœããã®ãŸãŸäœ¿ããã®ã§ã<strong>éååãGPGPU/SIMDå®è¡, ã¯ãã¹ãã©ãããã©ãŒã (Windows, Mac, Android)ã«å¯Ÿå¿</strong>ããŠããŸãã<br>
MIT Licenseã§å
¬éããŠããã®ã§åé
åžã»æ¹é ãèªç±ã§ãã(Contribution倧æè¿ã§ãïŒ)</p>
<p>âã¯æ¬ã©ã€ãã©ãªã®ç޹ä»åç»ã§ãã</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/YAPNvy4gD-Y?si=mJwg1lKqafEXValI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
<p>ãã¡ãã®åç»å
ã§äœ¿ãããŠããã¢ããªã¯ä»åãã¢çšã«äœã£ã<strong>ãŠããã£ã¡ãããšç°¡åãªäŒè©±ãã§ããã¢ããª</strong>ã§ãã<br>
以äžã«å
¬éããŠããŸãã®ã§èå³ãããæ¹ã¯ãã²è§Šã£ãŠã¿ãŠãã ããïŒïŒWindows, Android察å¿ïŒ<br>
ã¢ãã«ã¯<code>ELYZA-japanese-Llama-2-7bã®2bitéååã¢ãã«</code>ã䜿ã£ãŠããŸãã</p>
<div class="iframely-embed"><div class="iframely-responsive" style="height: 140px; padding-bottom: 0;"><a href="https://github.com/DefiosLab/LlamaCppUnity_DEMO" data-iframely-url="//iframely.net/qhd6SYA?card=small"></a></div></div><script async src="//iframely.net/embed.js"></script>
<br>
<hr>
<h1 id="3-ãµã³ãã«ã³ãŒã">3. ãµã³ãã«ã³ãŒã</h1>
<p>æšè«ãåããã«ã¯ä»¥äžã®ã³ãŒãã§ç°¡åã«å®è¡ã§ããŸããTokenæ¯ã«çæçµæãè¿ã<code>Stream</code>ã«ã察å¿ããŠããŸãã</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-c#" data-lang="c#"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> LlamaCppUnity;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">public</span> <span style="color:#66d9ef">class</span> <span style="color:#a6e22e">LlamaSample</span> : MonoBehaviour
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">void</span> Start()
</span></span><span style="display:flex;"><span> {
</span></span><span style="display:flex;"><span> Llama test = <span style="color:#66d9ef">new</span> Llama(<span style="color:#e6db74">&#34;&lt;path/to/gguf&gt;&#34;</span>);
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">string</span> result = test.Run(<span style="color:#e6db74">&#34;Q: Name the planets in the solar system? A: &#34;</span>);
</span></span><span style="display:flex;"><span> <span style="color:#75715e">//Output example: &#34;1. Venus, 2. Mercury, 3. Mars,&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#75715e">//Stream Mode</span>
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">foreach</span> (<span style="color:#66d9ef">string</span> text <span style="color:#66d9ef">in</span> test.RunStream(<span style="color:#e6db74">&#34;Q: Name the planets in the solar system? A: &#34;</span>))
</span></span><span style="display:flex;"><span> {
</span></span><span style="display:flex;"><span> Debug.Log(text);
</span></span><span style="display:flex;"><span> }
</span></span><span style="display:flex;"><span> }
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p>åŸã»ã©ãã¢ã¢ããªã®ãœãŒã¹ã³ãŒããå
¬éäºå®ã§ããïŒã¢ã»ãããããããã«ããçµæãã©ã€ã»ã³ã¹äžãã®ãŸãŸãœãŒã¹ãå
¬éã§ããªãã¢ããªã«ãªã£ãŠããŸããŸãã&hellip;æšè«éšåã ããæœåºãããµã³ãã«ã¢ããªã«ããäºå®ã§ããïŒ</p></description>
</item>
<item>
<title>M5core2ã§ãªã¢ã«ã¿ã€ã ïŒsegæšè«</title>
<link>https://DefiosLab.github.io/post/m5core2_7seg/</link>
<pubDate>Thu, 07 Dec 2023 00:00:00 +0000</pubDate>
<guid>https://DefiosLab.github.io/post/m5core2_7seg/</guid>
<description><h1 id="1-ã¯ããã«">1. ã¯ããã«</h1>
<ol>
<li>æ¬èšäºã¯M5core2å
ã§7segæåããã¥ãŒã©ã«ãããã¯ãŒã¯ã§ãªã¢ã«ã¿ã€ã ç»åèªèããããããšããèšäºã§ãã
M5stackã¯çŽ5cmÃ5cmã®æ£æ¹åœ¢ã®ã±ãŒã¹ã®äžã«ãWi-FiãšBluetoothã«ããç¡ç·éä¿¡æ©èœãæèŒããESP32ãã¯ãããã«ã©ãŒãã£ã¹ãã¬ã€ããã¿ã³ãã¹ããŒã«ãŒãIMU,MicroSDãªã©ã®åšèŸºéšåãäžã€ã®ã¢ãžã¥ãŒã«ãšããŠãŸãšãŸã£ãŠãããã€ã³ã³ã¢ãžã¥ãŒã«ã§ããããã«ãåŽé¢ãèé¢ã®ãã³ã«ã±ãŒãã«ãæ¥ç¶ããã°è²ã
ãªã»ã³ãµãŒé¡ã䜿çšã§ããããã«ãªããŸãã
M5core2ã¯M5basicã®äžäœæ©çš®ã§ç©çãã¿ã³ããã¿ããã»ã³ãµã«å€æŽã«ãªã£ããã6軞IMUã远å ãããããããããªãŒå®¹éã3åã»ã©ã«ãªã£ãŠãããããŠããŸãã
æ¬èšäºãéããŠM5core2ã§ãªã¢ã«ã¿ã€ã ã«AIãåããéã®åèã«ãªãã°å¹žãã§ãã</li>
</ol>
<h1 id="2éçºç°å¢">2.ãéçºç°å¢</h1>
<ol>
<li>䜿çšããæ©æãç°å¢ã¯ä»¥äžã«ãªããŸãã</li>
</ol>
<ul>
<li>ç«¯æ« : M5core2ã(ä»åã¯è©ŠããŠããªãããM5 basicãªã©ã®ä»ã®M5ã·ãªãŒãºã§ãå¯èœã ãšæããã)</li>
<li>ã«ã¡ã© : UnitCamã(Wi-Fiéä¿¡ or uartéä¿¡ã§ç»åãéä¿¡ã§ããã«ã¡ã©)</li>
<li>ç°å¢ : VSCode + PlatformIO</li>
</ul>
<p><a href="https://docs.m5stack.com/ja/core/core2"><img src ="https://static-cdn.m5stack.com/resource/docs/products/core/core2/core2_01.webp" width="20%"></a>
<a href="https://www.switch-science.com/products/7231"><img src ="https://www.switch-science.com/cdn/shop/products/f06a7f0c-15a6-4c4b-ae5d-94a41ff9df05_800x800.jpg?v=1699715018" width="20%"></a></p>
<!-- [](https://docs.m5stack.com/ja/core/core2) -->
<ul>
<li>ä»å䜿çšãããã¡ã€ã«ã¯äžèšã®ãªããžããªã«ãŸãšããŠãããŸããã¯ããŒã³ããŠäœ¿çšããŠãã ãã
<a href="https://github.com/DefiosLab/M5_7seg_program">https://github.com/DefiosLab/M5_7seg_program</a></li>
</ul>
<h1 id="3-ã¢ãã«åŠç¿">3. ã¢ãã«åŠç¿</h1>
<ul>
<li>
<p>7segç»åèªèã®ã¢ãã«ãäœæããéã«äžèšãµã€ããåèã«è¡ããããŒã¿ã»ãããäžèšãµã€ããããåãããŸããããšãŠãåãããããç»åèªèã®ã¢ãã«ãäœæããéã«å¿
èŠãªæ
å ±ããŸãšããŠãã£ãŠããããã§ãã</p>
</li>
<li>
<p><a href="https://child-programmer.com/ai/cnn-originaldataset-samplecode/#Google_Colaboratory_PythonKerasCNN">ããµã³ãã«ã³ãŒããPythonã»Kerasã§CNNæ©æ¢°åŠç¿ãèªäœã»èªåç»åã®ãªãªãžãã«ããŒã¿ã»ããã§ç»åèªèå
¥é</a></p>
</li>
<li>
<p>ããŒã¿ã»ããã¯äžèšãµã€ãããããŠã³ããŒãã§ããŸãã</p>
</li>
<li>
<p><a href="https://child-programmer.com/download/seven-segment-digits-ocr-original-model-dataset/">ããŠã³ããŒãïŒ7ã»ã°ã¡ã³ãã®ããžã¿ã«æ°åç»åèªèçšãªãªãžãã«ããŒã¿ã»ãã</a></p>
</li>
<li>
<p>å®éã«åŠç¿ã«äœ¿çšããããã°ã©ã ã¯&quot;learn_7seg.ipynb&quot;ã«ãªããŸã</p>
</li>
</ul>
<p>åŠç¿æžã¿ã®model.h5ãã¡ã€ã«ã次ã®ã¹ãããã§å¿
èŠã«ãªããŸã</p>
<h1 id="4-ã¢ãã«ã®éåå">4. ã¢ãã«ã®éåå</h1>
<ul>
<li>éååãšã¯éã¿ãªã©ã®ãã©ã¡ãŒã¿ãããäœbitã§è¡šãããšã§ã¢ãã«ã®è»œéåãè¡ãã¢ãã«å§çž®ã®1ã€ã®ææ³ã§ãã</li>
<li>éååã®éã«äœ¿çšããããã°ã©ã ã¯&quot;quantize.ipynb&quot;ã«ãªããŸã</li>
</ul>
<ol>
<li>1.äžèšã®ã³ãŒãã§æŽæ°éåå(å
¥åºåã®åã¯å
ã¢ãã«ã®ãŸãŸfloat)ãè¡ããŸã</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#75715e"># settings</span>
</span></span><span style="display:flex;"><span>input_model <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;model.h5&#39;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>keras_model <span style="color:#f92672">=</span> tf<span style="color:#f92672">.</span>keras<span style="color:#f92672">.</span>models<span style="color:#f92672">.</span>load_model(input_model)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">representative_dataset_gen</span>():
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">for</span> i <span style="color:#f92672">in</span> range(<span style="color:#ae81ff">100</span>):
</span></span><span style="display:flex;"><span> input_image <span style="color:#f92672">=</span> tf<span style="color:#f92672">.</span>cast(train_images[i], tf<span style="color:#f92672">.</span>float32)
</span></span><span style="display:flex;"><span> input_image <span style="color:#f92672">=</span> tf<span style="color:#f92672">.</span>reshape(input_image, [<span style="color:#ae81ff">1</span>,<span style="color:#ae81ff">28</span>,<span style="color:#ae81ff">28</span>,<span style="color:#ae81ff">1</span>])
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">yield</span> ([input_image])
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>converter <span style="color:#f92672">=</span> tf<span style="color:#f92672">.</span>lite<span style="color:#f92672">.</span>TFLiteConverter<span style="color:#f92672">.</span>from_keras_model(keras_model)
</span></span><span style="display:flex;"><span>converter<span style="color:#f92672">.</span>optimizations <span style="color:#f92672">=</span> [tf<span style="color:#f92672">.</span>lite<span style="color:#f92672">.</span>Optimize<span style="color:#f92672">.</span>DEFAULT]
</span></span><span style="display:flex;"><span>converter<span style="color:#f92672">.</span>representative_dataset <span style="color:#f92672">=</span> representative_dataset_gen
</span></span><span style="display:flex;"><span>tflite_quant_model <span style="color:#f92672">=</span> converter<span style="color:#f92672">.</span>convert()
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">with</span> open(<span style="color:#e6db74">&#34;7seg_InOutFloat_intQuantize.tflite&#34;</span>, <span style="color:#e6db74">&#39;wb&#39;</span>) <span style="color:#66d9ef">as</span> o_:
</span></span><span style="display:flex;"><span> o_<span style="color:#f92672">.</span>write(tflite_quant_model)
</span></span></code></pre></div><ol start="2">
<li>2.éååãè¡ã£ãmodel.tfliteãM5core2äžã§åãããã«Cãã¡ã€ã«ã«å€æããŸã</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span> ! xxd -i <span style="color:#f92672">{</span>MODEL_TFLITE_PATH<span style="color:#f92672">}</span> &gt; model.c
</span></span></code></pre></div><ul>
<li>
<ul>
<li>xxdïŒãã¡ã€ã«ã16鲿°è¡šèšã§åºåãã-iããªãã·ã§ã³ã¯Cèšèªã®ã€ã³ã¯ã«ãŒããã¡ã€ã«åœ¢åŒã§è¡šç€ºãã</li>
</ul>
</li>
</ul>
<h1 id="5-tfmicroã©ã€ãã©ãªã®äœæ">5. tfmicroã©ã€ãã©ãªã®äœæ</h1>
<ul>
<li>PlatformIoã§ã®M5core2ã®éçºç°å¢ã¯ä»¥äžã®ãµã€ããåèã«è¡ããŸããã</li>
<li><a href="https://qiita.com/desertfox_i/items/a6ff7deaa0a0b3802bcd">VSCodeãšPlatformIOã§M5Stack Core2éçº</a></li>
<li>Tensorflow liteãM5core2ã§äœ¿ããããã«ããããã«tfliteã®ã©ã€ãã©ãªãèªåã§äœæããå¿
èŠããããŸã</li>
</ul>
<ol>
<li>1.PlatformIOã§tfmicroãšãããããžã§ã¯ããäœæãã(boardã¯M5stack Core2ãéžæ)</li>
<li>2.TensorFlow_esp32ãcloneãã</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span> git clone git@github.com:DefiosLab/TensorFlow_esp32.git
</span></span></code></pre></div><ol start="3">
<li>3.ã¯ããŒã³ããŠããTensorflow_esp32/PlatformIO/tfmicro/lib/tfmicroãlib/ã«å
¥ãã</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span> cp -r Tensorflow_esp32/PlatformIO/tfmicro/lib/tfmicro <span style="color:#e6db74">${</span>Project<span style="color:#e6db74">}</span>/lib
</span></span></code></pre></div><h1 id="6-m5core2ãšã«ã¡ã©ã®æ¥ç¶">6. M5core2ãšã«ã¡ã©ã®æ¥ç¶</h1>
<ul>
<li>M5core2ãšã«ã¡ã©ã¯uartã§éä¿¡ãè¡ããŸãã</li>
</ul>
<ol>
<li>
<p>2.M5Core2ãšã«ã¡ã©ãGroveã±ãŒãã«ã§æ¥ç¶ããŸã</p></description>
</item>
<item>
<title>M5Stackã§é«éãªã»ã³ã·ã³ã°ãç®æãããèŠåŽãã話</title>
<link>https://DefiosLab.github.io/post/high_speed_sensing_m5/</link>
<pubDate>Sat, 24 Dec 2022 00:00:00 +0000</pubDate>
<guid>https://DefiosLab.github.io/post/high_speed_sensing_m5/</guid>
<description><p>ãã®èšäºã¯ãIoTLT Advent Calendar 2022ãã®23æ¥ç®ã§ãã</p>
<p>
<div class="iframely-embed"><div class="iframely-responsive" style="height: 140px; padding-bottom: 0;"><a href="https://qiita.com/advent-calendar/2022/iotlt" data-iframely-url="//iframely.net/yfMRalm?card=small"></a></div></div><script async src="//iframely.net/embed.js"></script>
</p>
<hr>
<h1 id="1m5stackã£ãŠãããã">1ïŒM5Stackã£ãŠãããã</h1>
<p><a href="https://docs.m5stack.com/en/core/basic_v2.6">M5Stack</a>ãšã¯ãESP32ãæèŒãããã€ã³ã³ã¢ãžã¥ãŒã«ã§ãã¢ãã«ãããŸããæåããæ¶²æ¶ä»ããŠããããã¿ã³ä»ããŠãããã¹ããŒã«ãŒ/ãã€ã¯ãIMUãªã©åææèŒã»ã³ãµãŒå±±çãã§ãWi-FiãBluetoothãŸã§ç¹ãã£ã¡ãããšãããã£ã¡ã䟿å©ãªéçºæ©ã§ãã<br>
䟿å©ããããããšãªãããä»ãŸã§ç§ãIoTå·¥äœã§ãã䜿ã£ãŠããRaspberryPiã¯æè¿å人ã§ã¯å
¥æãã¥ããã§ãããM5Stackã¯å®å®ããŠå£²ã£ãŠããŸãïŒæ¬²ãããªã£ãŠæã£ããšãã«ç§èåã§è²·ããŸãã<br>
ãããªå
¥æãå®ããçžãŸã£ãŠãæè¿ã¯æ¥åã®è£œåéçºã§ã䜿ã£ãããæ°ã«å
¥ãã«ãªãã€ã€ããããã€ã¹ã§ãã</p>
<blockquote class="twitter-tweet"><p lang="zxx" dir="ltr"><a href="https://t.co/iZlu48cwvr">pic.twitter.com/iZlu48cwvr</a></p>&mdash; 倧å°(Taisyo) (@T_taisyou) <a href="https://twitter.com/T_taisyou/status/1605532841516838912?ref_src=twsrc%5Etfw">December 21, 2022</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<hr>
<h1 id="2-m5stackãæ¬æ Œçã«äœ¿ãããã£ã">2. M5Stackãæ¬æ Œçã«äœ¿ãããã£ã</h1>
<p>M5Stackã¯IoTå
¥éææã«ã䜿ãããããå人çã«ã¯åå¿è
ã®å匷åãããªãšãæã£ãŠãããã§ãããç»é¢ãä»ããŠãããSDã¹ãããä»ããŠãããäžèº«ESP32ã ãããããããŒã¹ã«çµã¿èŸŒã¿ã·ã¹ãã äœã£ãŠãããããããªãïŒããšããããšã§ä»ãŸã§PICãšãAVRãšãPSoCãšããããŒã¹ã«ãã€ã³ã³ããåºæ¿èµ·ãããŠLCDãSDã«ãŒããã©ã€ããªã©ãèªåã§æžããŠãããããªã·ã¹ãã ã®ããŒã¹ãããã«çœ®ãæããŠããã£ãšéçºãç°¡åã«ãããïŒã𿬿 Œçãªäœ¿çšãæ€èšããããšã«ãªããŸããã</p>
<p>ãšããããšã§ãèªäœããã³ã³ãããŒã©ãŒã®å
¥åã§ãããããæäœããããšãæ³å®ããŠãåçŽã«A/Dã§å
¥åããå€ããã®ãŸãŸD/Aã§åºãããã€ã¹ã詊ãã«äœã£ãŠã¿ãããšæããŸããã<br>
M5Stackã«ã¯SDã«ãŒãã¹ããããæ¶²æ¶ãä»ããŠãã®ã§ãæäœèšé²ãSDã«èšé²ããããä»ã®ããããã®ãã¯ãŒåºåãç»é¢ã«ãã£ããã衚瀺ãããããšãå°æ¥çã«ã§ããããªãšæã£ãŠããŒã¹ã«M5ãéžãã§ã¿ãŸããã<br>
<figure><img src="https://DefiosLab.github.io/post/high_speed_sensing_m5/machine_robot_contest.png" width="200px">
</figure>
</p>
<p>仿§ãšããŠã¯ãã³ã³ãããŒã©æäœ(ã¢ããã°ã¹ãã£ãã¯ãšã)ã®çްããåããçŽ æ©ãåãã§ãåå¿è¯ããããã£ãã®ãšã
åŠçå
容ãšããŠã¯ãADCã§å€ãååŸããŠãã¡ãã£ãšèšç®ããŠãDACã§åºãã ãããšãããã€ã³ã³ã«ããããä»äºã«ããŠã¯ãšãŠãç°¡åã ã£ãã®ã§<strong>åžæåäœåšæã¯1kHz</strong>ãšããŸããã<br>
PICãã€ã³ã³ãªããã£ãšã»ã³ãµãŒãã¿ã¹ã¯ãå€ããŠããããããã®é床ã§ADC-&gt;DACã§ããããESP32ãã³ã¢ã®M5Stackãªãããããªã£ã§ããããšæã£ãŠããŸããã</p>
<hr>
<h1 id="3-adcdacã«äœã䜿ãã">3. ADC/DACã«äœã䜿ãã</h1>
<p>M5Stack Base V2.6ã®å ŽåãGPIOã§äœ¿ããADC, DACã¯ãããã2åãã€ã§ã
æ±ããé»å§ã¯0~3.3Vãåè§£èœã¯12bitã§ãããã¡ãã£ãšåè§£èœæ¬²ãããšããããããã ãã©ããšãããããŸãããããªãããšæã£ãŠãããã§ãããåäœå·®ãããããããŸãããã©ããããã€ãºãåãããããšããæ
å ±ãããã€ããã£ãã®ã§ãå
èµAD/DAã¯äœ¿ããªãæ¹åã§äœãããšã«ããŸããã</p>
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ESP32ã®ADCãå
ã
é»å§ç¯å²çãäžä»¥å€ããªãç·åœ¢æ§æªãã£ããããªæ°ãããŸããM5Stackåºæã§ããã«ãã€ãºä¹ã£ãŠãå¯èœæ§ãé«ãã§ãã</p>&mdash; Kenta IDA (@ciniml) <a href="https://twitter.com/ciniml/status/1235201261605019648?ref_src=twsrc%5Etfw">March 4, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script><br>
<p>M5Stackãšããã°ãŠããã(ã»ã³ãµãŒãªã©)ãã±ãŒãã«1æ¬æ¥ç¶ããã ãã§ç°¡åã«äœ¿ããã®ãç¹åŸŽã®äžã€ã§ãã<br>
æ¢ããŠã¿ããADC/DACã¢ãžã¥ãŒã«ããã£ãã®ã§ <strong>ããããM5ã« ã¡ãããš ãã£ã€ããŠã ã㣠ãšã³ãŒãæžããããã宿ãããïŒïŒã</strong> ãšM5ã®äŸ¿å©ãã«è奮ãã€ã€ADC/DACã¯ããã䜿ãããšã«ããŸããã<br>
ADCã¯0ã12Væ€åºã§æå€§åè§£èœ16bitãDACã¯æå€§åè§£èœ12bitã§åºåé»å§0ã3.3Vã§ãã</p>
<div class="iframely-embed"><div class="iframely-responsive" style="height: 140px; padding-bottom: 0;"><a href="https://www.switch-science.com/products/5221" data-iframely-url="//iframely.net/4Ej4DFw"></a></div></div><script async src="//iframely.net/embed.js"></script>
<div class="iframely-embed"><div class="iframely-responsive" style="height: 140px; padding-bottom: 0;"><a href="https://www.switch-science.com/products/5222" data-iframely-url="//iframely.net/u9ne4bm"></a></div></div><script async src="//iframely.net/embed.js"></script><br>
<p>ä»å䜿ãããšæã£ãŠããM5Stack Basicã«ã¯ãŠããããç¹ãããã穎ãäžã€ãããªãã£ãã®ã§ãããè²·ããŸããã<br>
å°æ¥çã«ãã£ã±ãç¹ããããšãèããŠ6ããŒãã«å¢ããããã€ãéžã³ãŸããã<br>
ãã£ã³ãã«ã®ååŸå¶åŸ¡ã®ä»æ¹ã¯ããŒãªã³ã°å¶åŸ¡ãããã§ãã</p>
<div class="iframely-embed"><div class="iframely-responsive" style="height: 170px; padding-bottom: 0;"><a href="https://www.switch-science.com/products/7588" data-iframely-url="//iframely.net/KDI2aRK"></a></div></div><script async src="//iframely.net/embed.js"></script><br>
<hr>
<h1 id="4-1-éããè¶³ããªã---ãã£ãããã¹ç·š">4-1. éããè¶³ããªã - ãã£ãããã¹ç·š</h1>
<p>ã¡ãã£ãšå¯ãã®ããæ¹ã¯ãã§ã«å
ã»ã©è²Œã£ãååããŒãžã®ã¹ããã¯ãããªããäºæ³ã§ããŠãããããããŸããã&hellip;</p></description>
</item>
<item>
<title>Universal Intrinsicsã§SIMDããã°ã©ãã³ã°</title>
<link>https://DefiosLab.github.io/post/cv-universal-intrinsic/</link>
<pubDate>Sat, 24 Dec 2022 00:00:00 +0000</pubDate>
<guid>https://DefiosLab.github.io/post/cv-universal-intrinsic/</guid>
<description><p><a href="https://qiita.com/advent-calendar/2022/ipu">岩æçç«å€§åŠã¢ããã³ãã«ã¬ã³ããŒ18æ¥ç®</a>ã®èšäºã§ãïŒå€§é
å»ïŒ</p>
<p>
<div class="iframely-embed"><div class="iframely-responsive" style="height: 140px; padding-bottom: 0;"><a href="https://qiita.com/advent-calendar/2022/ipu" data-iframely-url="//iframely.net/ImHYOMe?card=small"></a></div></div><script async src="//iframely.net/embed.js"></script>
</p>
<hr>
<h1 id="èªå·±ç޹ä»">èªå·±ç޹ä»</h1>
<p>ã¯ãããŸããŠè¿è€é¯è²Žã§ãã</p>
<p>岩æçç«å€§åŠãœãããŠã§ã¢æ
å ±åŠç ç©¶ç§ã®å士課çšã«åšåŠãã€ã€ãDefiosæ ªåŒäŒç€Ÿãšãããã³ãã£ãŒäŒæ¥ãçµå¶ããŠããŸãã</p>
<p>倧åŠã§ã¯ã©ãºãã€ãšãJetsonãªã©ã®å°åã³ã³ãã¥ãŒã¿ã察象ã«é«éåã®ç ç©¶ãè¡ã£ãŠãããäŒç€Ÿã§ã¯AI/IoTåéãäžå¿ã«åèšéçºãã³ã³ãµã«ãã£ã³ã°æ¥åãè¡ã£ãŠãŸãã</p>
<p>æè¿Defiosã§æè¡ããã°ãç«ã¡äžããŸããããã£ãããªã®ã§ãã¡ãããæçš¿ããŸãã</p>
<hr>
<h1 id="1ã¯ããã«">1ïŒã¯ããã«</h1>
<p>çŸä»£ã®å€§äœã®CPUã§ã¯SIMDïŒSingle Instruction Multiple Data)åœä»€ãå®è¡å¯èœã§ããSIMDãšã¯äžã€ã®åœä»€ã§è€æ°ã®ããŒã¿ãåŠçãã䞊åå圢æ
ã§ããäžæã䜿ãããšã§ãœãããŠã§ã¢ãé«éåããããšãåºæ¥ãŸãã<br>
ããããããã»ããµã®ã¢ãŒããã¯ãã£ã補åçš®é¡ã«ãã£ãŠå¯Ÿå¿ããŠããSIMDã®bitå¹
ãåœä»€ã»ãããç°ãªããæ§ã
ãªã³ã³ãã¥ãŒã¿äžã§SIMDãæŽ»çšããã¢ããªã±ãŒã·ã§ã³ãå®è£
ããã®ã¯å°ãåä»ã§ãã</p>
<p>ãµãšãç»ååŠçã©ã€ãã©ãªã§ããOpenCVã®SIMD察å¿ãã©ããªã£ãŠããã®ãæ°ã«ãªã£ãŠèª¿ã¹ããšãã以äžã®èšäºãèŠã€ããŸããã</p>
<p>
<div class="iframely-embed"><div class="iframely-responsive" style="height: 140px; padding-bottom: 0;"><a href="https://qiita.com/tomoaki_teshima/items/8195c25a3f0448ce300b" data-iframely-url="//iframely.net/qt3Wvjm?card=small"></a></div></div><script async src="//iframely.net/embed.js"></script>
<div class="iframely-embed"><div class="iframely-responsive" style="height: 140px; padding-bottom: 0;"><a href="https://qiita.com/hon_no_mushi/items/df9b8159e7fb47c9e30c" data-iframely-url="//iframely.net/TLsWpHM?card=small"></a></div></div><script async src="//iframely.net/embed.js"></script>
</p>
<p>ã©ããããOpenCVã§ã¯<strong>Universal Intrinsic</strong>ãšããã©ã€ãã©ãªãçšããŠSIMDã¢ãŒããã¯ãã£ã®å·®ç°ãåžåããŠããããã§ãã</p>
<p>æ¬èšäºã§ã¯ãã®Universal Intrinsic(以äžUI)ã®äœ¿ãæ¹ãšç°¡åãªå®è£
äŸã玹ä»ããŸãã</p>
<hr>
<h1 id="2äœ¿ãæ¹">2ïŒäœ¿ãæ¹</h1>
<p>æ®éã«OpenCVãã€ã³ã¹ããŒã«ããŠã<code>&lt;opencv2/core/simd_intrinsics.hpp&gt;</code>ãincludeããã°UIã䜿ãããšãåºæ¥ãŸãã<br>
SIMDãæå¹ã«ãªã£ãŠããããã©ã®bitå¹
ã䜿ãããã¯OpenCVã®ãµã³ãã«ã®<a href="https://github.com/opencv/opencv/blob/4.x/samples/cpp/simd_basic.cpp">simd_basic.cpp</a>ãå®è¡ããããšã§ç¢ºèªã§ããŸãã<br>
以äžAVX2ç°å¢ã§ã®simd_basic.cppã®å®è¡çµæ</p>
<pre tabindex="0"><code>
================== macro dump ===================
CV_SIMD is defined: 1
CV_SIMD_WIDTH is defined: 32
CV_SIMD128 is defined: 1
CV_SIMD256 is defined: 1
CV_SIMD512 is defined: 0
CV_SIMD_64F is defined: 1
CV_SIMD_FP16 is defined: 0
================= sizeof checks =================
sizeof(v_uint8) = 32
sizeof(v_int32) = 32
sizeof(v_float32) = 32
================== arithm check =================
(vx_setall_u8(10) + vx_setall_u8(45)).get0() =&gt; 55
===================== done ======================
</code></pre><p>AVX2ã®SIMDå¹
ã¯256bitã§ãã<code>CV_SIMD256</code>ã1ãšãªã£ãŠããã®ã§æå¹ã«ãªã£ãŠããããšãåãããŸãã<br>
ã¡ãªã¿ã«ãç§ã®ç°å¢ã§ã¯ã³ã³ãã€ã«ããéã«-mavx2(gcc)ãªãã·ã§ã³ãå
¥ããªããšAVX2ãæå¹ã«ãªããã«SSEã§å®è¡ãããŸããã</p></description>
</item>
<item>
<title>M5Stackã§å§ããIoTéçºå
¥éãåŠç¿ãªã¢ã³ã³ã</title>
<link>https://DefiosLab.github.io/post/remote_contoroller_mqtt/</link>
<pubDate>Tue, 20 Dec 2022 00:00:00 +0000</pubDate>
<guid>https://DefiosLab.github.io/post/remote_contoroller_mqtt/</guid>
<description><h1 id="1ã¯ããã«">1ïŒã¯ããã«</h1>
<p>æ¬èšäºã¯ãIoTéçºåå¿è
ã§ããç§ã<strong>M5Stackã§åŠç¿ãªã¢ã³ã³ãäœæãããããã¯ãŒã¯çµç±ã§å®¶é»ãæäœããŠã¿ãã</strong>ãšããå
容ã§ãã</p>
<p>M5Stackã¯Wi-FiãšBluetoothã«ããç¡ç·éä¿¡æ©èœãåããESP32ãæ¶²æ¶ãã£ã¹ãã¬ã€ãmicroSDã«ãŒãã¹ããããªã©ã®åšèŸºæ©åšããŸãšãŸã£ãå°åã®ãã€ã³ã³ã¢ãžã¥ãŒã«ã§ãããŠããã(ã»ã³ãµãŒãªã©)ãæ¥ç¶ããããšã§ç°¡åã«ã»ã³ãµãŒããå€ãååŸã§ããŸãããã®èšäºãéããŠãM5Stackã§ã®éçºãMQTTãªã©åºæ¬çãªIoTéçºã®ä»æ¹ãå匷ãããã£ãããåèã«ãªãã°ãããšæããŸãã</p>
<hr>
<h1 id="2éçºç°å¢ãšæ§æå³">2ïŒéçºç°å¢ãšæ§æå³</h1>
<p>ä»åäœæããã·ã¹ãã ã®æ§æå³ã¯ãããªæãã§ãããã ãåŠç¿ãªã¢ã³ã³ãäœãã ãã§ã¯IoTã«ã¯ãªããªãã®ã§ããããã¯ãŒã¯çµç±ã§ãæäœã§ããããã«ããŸãããIoTã§ã®éä¿¡ãšããã°MQTTãšèããã®ã§å匷ãå
ŒããŠå®è£
ããŠãããããšæããŸãã</p>
<figure><img src="https://DefiosLab.github.io/post/remote_contoroller_mqtt/IoT_system.png"
 alt="ã·ã¹ãã æ§æå³" width="800px">
</figure>

<p>éçºç°å¢ã¯ä»¥äžã®éãã§ããM5GO IoTã¹ã¿ãŒã¿ãŒãããã賌å
¥ããã°ãIRã»ã³ãµãŒã®ä»ã«ENVâ
¢(æž©æ¹¿åºŠã»æ°å§)ã»ã³ãµãŒãªã©ãä»ããŠããã®ã§åããŠIoTéçºããæ¹ã«ã¯ããããã§ããåæãšããŠãArduino IDEã§ã®M5Stackã®ç°å¢ã¯æŽã£ãŠããããšãšããŸãã</p>
<ul>
<li>端æ«ïŒM5GO (M5STACK BASICã§ãOK)</li>
<li>ã»ã³ãµãŒïŒIRã»ã³ãµãŒ(èµ€å€ç·ã»ã³ãµãŒ)</li>
<li>ãµãŒããŒïŒRaspberry Pi 4 (Linuxã®å
¥ã£ãPCãªã代æ¿å¯)</li>
</ul>
<hr>
<h1 id="3åŠç¿ãªã¢ã³ã³äœæ">3ïŒåŠç¿ãªã¢ã³ã³äœæ</h1>
<h2 id="31æºå">3.1ïŒæºå</h2>
<p>æåã«åŠç¿ãªã¢ã³ã³ããäœæããŠãããããšæããŸãããŸãã¯ã<code>IRremoteESP8266</code>ã®ã©ã€ãã©ãªãã€ã³ã¹ããŒã«ããŸãã</p>
<h2 id="32åä¿¡ç·š">3.2ïŒåä¿¡ç·š</h2>
<p>æ¬¡ã«æ¢åã®ãªã¢ã³ã³ããèµ€å€ç·ããŒã¿ãååŸããŸããä»åç§ã¯ã黿°ãONã»OFFãããã¡ãã®ã¢ã€ãªã¹ãªãªã€ã補ã®ãªã¢ã³ã³ã䜿çšããŸãã</p>
<figure><img src="https://DefiosLab.github.io/post/remote_contoroller_mqtt/IRIS.png"
 alt="ã·ã¹ãã æ§æå³" width="300px">
</figure>

<p>ãŸãã¯ã<code>IRremoteESP8266</code>ã®ãµã³ãã«ã³ãŒããååŸããŸãã
èµ€å€ç·ãåä¿¡ãããµã³ãã«ã³ãŒãã¯ãããã¡ã€ã«ãâãã¹ã±ããäŸãâãIRremoteESP8266ãã®ãIRrecvDumpV2ãããååŸã§ããŸãã</p>
<figure><img src="https://DefiosLab.github.io/post/remote_contoroller_mqtt/dump_sample.png"
 alt="ãµã³ãã«ã³ãŒãååŸ" width="800px">
</figure>

<p>M5GOã§ã¯ãåä¿¡ããPINçªå·ã36ãéä¿¡ããPINçªå·ã26çªã§ãããªã®ã§ãåä¿¡ããPINçªå·ã36ã«å€æŽããå¿
èŠããããŸãã</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-c" data-lang="c"><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#66d9ef">uint16_t</span> kRecvPin <span style="color:#f92672">=</span> <span style="color:#ae81ff">36</span>;
</span></span></code></pre></div><p>倿Žããããã³ã³ãã€ã«ïŒæžã蟌ã¿ãè¡ããã·ãªã¢ã«ã¢ãã¿ãŒãéããŠIRã»ã³ãµãŒã«åããŠãªã¢ã³ã³ã®ãã¿ã³ãæŒãããŒã¿åä¿¡ãããŸããä»åã¯ãONã»OFFãããæãããããæããã®ããŒã¿ãåä¿¡ããŸããèµ€å€ç·ããŒã¿ãåä¿¡ãããšä»¥äžã®ãããªã«ã·ãªã¢ã«ã¢ãã¿ã«è¡šç€ºãããã®ã§<code>uint16_t raw_data[85]</code>ã®ã¡ã¢ãåããŸãã
<figure><img src="https://DefiosLab.github.io/post/remote_contoroller_mqtt/dump_result.png"
 alt="åä¿¡çµæ" width="800px">
</figure>
</p>
<h2 id="33éä¿¡ç·š">3.3ïŒéä¿¡ç·š</h2>
<p>èµ€å€ç·ããŒã¿ãåä¿¡ããããæ¬¡ã«åŠç¿ãªã¢ã³ã³ãäœæããŸããçŸæç¹ã§ã¯ãWeb UIãMQTTã®å®è£
ã¯ããŠããªãã®ã§ããã¿ã³ãæŒãããå ŽåããŒã¿ãéä¿¡ããããã«å®è£
ããŸãã
Aãã¿ã³ããå/å
¥ããBãã¿ã³ããæããããCãã¿ã³ããæããã®ããŒã¿ãéä¿¡ããããã«å®è£
ããŠãããŸãã
ã³ãŒãã«ã€ããŠã¯ãã³ãŒãå
ã«ã³ã¡ã³ããæžããã®ã§èª¬æã¯çç¥ããŸããã³ã³ãã€ã«ïŒæžã蟌ã¿ãè¡ããå®éã«å®¶é»(ä»åã¯é»æ°)ãæäœã§ãããåŠç¿ãªã¢ã³ã³ã¯å®æã§ãïŒ</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-C" data-lang="C"><span style="display:flex;"><span><span style="color:#75715e">#include</span> <span style="color:#75715e">&lt;M5Stack.h&gt;</span><span style="color:#75715e">
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">#include</span> <span style="color:#75715e">&lt;IRremoteESP8266.h&gt;</span><span style="color:#75715e">
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">#include</span> <span style="color:#75715e">&lt;IRsend.h&gt;</span><span style="color:#75715e">
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">#define DATA_SIZE 85 </span><span style="color:#75715e">// éä¿¡ããèµ€å€ç·ããŒã¿ã®ãµã€ãº
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#75715e">#define TRANSMIT_CAPTURE_SIZE 38 </span><span style="color:#75715e">// åšæ³¢æ°. èµ€å€ç·ãªã¢ã³ã³ã®ä»æ§ã38khzãªã®ã§ã38ã§åºå®
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">int</span> ir_send_pin <span style="color:#f92672">=</span> <span style="color:#ae81ff">26</span>; <span style="color:#75715e">// éä¿¡ããPINçªå·
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span>IRsend <span style="color:#a6e22e">irsend</span>(ir_send_pin);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// éä¿¡ããèµ€å€ç·ããŒã¿
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">uint16_t</span> on_off[<span style="color:#ae81ff">85</span>] <span style="color:#f92672">=</span> {<span style="color:#ae81ff">2022</span>, <span style="color:#ae81ff">1004</span>, <span style="color:#ae81ff">5584</span>,... , <span style="color:#ae81ff">1494</span>, <span style="color:#ae81ff">532</span>, <span style="color:#ae81ff">512</span>}; <span style="color:#75715e">// å/å
¥
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">uint16_t</span> brightly[<span style="color:#ae81ff">85</span>] <span style="color:#f92672">=</span> {<span style="color:#ae81ff">2050</span>, <span style="color:#ae81ff">978</span>, <span style="color:#ae81ff">5586</span>,..., <span style="color:#ae81ff">1550</span>, <span style="color:#ae81ff">480</span>, <span style="color:#ae81ff">508</span>}; <span style="color:#75715e">// æãã
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">uint16_t</span> dark[<span style="color:#ae81ff">85</span>] <span style="color:#f92672">=</span> {<span style="color:#ae81ff">2020</span>, <span style="color:#ae81ff">1006</span>, <span style="color:#ae81ff">5578</span>,..., <span style="color:#ae81ff">488</span>, <span style="color:#ae81ff">516</span>, <span style="color:#ae81ff">536</span>}; <span style="color:#75715e">// æã
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">void</span> <span style="color:#a6e22e">setup</span>() {
</span></span><span style="display:flex;"><span> <span style="color:#75715e">// M5Stackã®åæå
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span> M5.<span style="color:#a6e22e">begin</span>();
</span></span><span style="display:flex;"><span> M5.Power.<span style="color:#a6e22e">begin</span>();
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#75715e">// 26çªãã³ã®èšå®
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span> <span style="color:#a6e22e">pinMode</span>(ir_send_pin, OUTPUT);
</span></span><span style="display:flex;"><span> <span style="color:#a6e22e">digitalWrite</span>(ir_send_pin, <span style="color:#ae81ff">1</span>);
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">void</span> <span style="color:#a6e22e">loop</span>() {
</span></span><span style="display:flex;"><span> M5.<span style="color:#a6e22e">update</span>();
</span></span><span style="display:flex;"><span> <span style="color:#75715e">// åãã¿ã³ãæŒãããéã«ãããããã®èµ€å€ç·ããŒã¿ãéä¿¡ãã
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span> <span style="color:#66d9ef">if</span> (M5.BtnA.<span style="color:#a6e22e">wasPressed</span>()) {
</span></span><span style="display:flex;"><span> irsend.<span style="color:#a6e22e">sendRaw</span>(on_off, DATA_SIZE, TRANSMIT_CAPTURE_SIZE);
</span></span><span style="display:flex;"><span> } <span style="color:#66d9ef">else</span> <span style="color:#66d9ef">if</span> (M5.BtnB.<span style="color:#a6e22e">wasPressed</span>()) {
</span></span><span style="display:flex;"><span> irsend.<span style="color:#a6e22e">sendRaw</span>(brightly, DATA_SIZE, TRANSMIT_CAPTURE_SIZE);
</span></span><span style="display:flex;"><span> } <span style="color:#66d9ef">else</span> <span style="color:#66d9ef">if</span> (M5.BtnC.<span style="color:#a6e22e">wasPressed</span>()) {
</span></span><span style="display:flex;"><span> irsend.<span style="color:#a6e22e">sendRaw</span>(dark, DATA_SIZE, TRANSMIT_CAPTURE_SIZE);
</span></span><span style="display:flex;"><span> }
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><hr>
<h1 id="4mqtt">4ïŒMQTT</h1>
<p>MQTT(Message Queue Telemetry Transport)ãšã¯ãIoTåãã®ã¡ãã»ãŒãžã³ã°ãããã³ã«ã§ããpublish/subscribeã¢ãã«ãšããä»çµã¿ã«åºã¥ããŠãããåæ¹åéä¿¡å¯èœãéåžžã«è»œéã§å¹ççãªããIoTã§ã®éä¿¡ã§çšããããŸãã
publish/subscribeã¢ãã«ã§ã¯ãã¡ãã»ãŒãžã®éä¿¡åŽ(Publisher)ãšåä¿¡åŽ(Subscriber)ã®éã«MQTTãµãŒããŒ(Broker)ãå
¥ã£ãŠã¡ãã»ãŒãžãæ±ããŸãã<br>
ä»åã¯MQTT BrokerãšããŠãOSSã§ããMosquittoãRaspBerry Piã«ã€ã³ã¹ããŒã«ããŠãããŸãããŸããåäœç¢ºèªããããã®ã§ã¯ã©ã€ã¢ã³ãããŒã«ãã€ã³ã¹ããŒã«ããŸãã</p></description>
</item>
<item>
<title></title>
<link>https://DefiosLab.github.io/archives/</link>
<pubDate>Tue, 01 Nov 2022 00:00:00 +0000</pubDate>
<guid>https://DefiosLab.github.io/archives/</guid>
<description></description>
</item>
<item>
<title>ãã®ããã°ã«ã€ããŠ</title>
<link>https://DefiosLab.github.io/post/about/</link>
<pubDate>Tue, 01 Nov 2022 00:00:00 +0000</pubDate>
<guid>https://DefiosLab.github.io/post/about/</guid>
<description><p>Defiosæ ªåŒäŒç€Ÿ DefiosLabæé·ã®<a href="https://twitter.com/T_taisyou">Taisyo</a>ã§ãã<br>
æ®æ®µAIãIoTé¢ä¿ã®éçºãè¡ãåŒç€Ÿã®ç€Ÿå¡ããæè¡ããéã³ã岩æã§ã®ä»äºã®æ§åãªã©ããããããŒãã«ã€ããŠèªç±ã«æžãäœã§ãããã°ãéèšããŸããã<br>
ããããäžå®æã«èšäºã远å ããŠããäºå®ã§ãã<br>
èšäºã«ã€ããŠã®ã³ã¡ã³ãã¯<a href="https://twitter.com/intent/tweet?hashtags=Defios_Lab">#Defios_Lab</a>ã®ããã·ã¥ã¿ã°ã§ãTwitterãFacebookã«æçš¿ããŠãããããšå¬ããã§ãïŒ</p>
<p>ããã°ã®ãã¶ã€ã³ã¯ã¬ãããªPCãã²ãŒã ã奜ããªç§ã®ãã ããã®ãã¶ã€ã³ã§ãããã¡ãã£ãšèŠã¥ããããç¥ããŸããã&hellip;<br>
ã»ã»ã»ãã®ãããªWebãã¶ã€ã³ã«é¢ããæèŠããåŸ
ã¡ããŠãŸãïŒ</p>
<hr>
<p>This blog is written by an employee of Defios Corporation, an IT company that develops AI and IoT.<br>
I write articles mainly about technology.<br>
I also write articles about Iwate Prefecture in Japan, where the company&rsquo;s office is located.</p>
<p>â Director of DefiosLaboratory Takeda Hiromasa</p>
<figure><img src="https://DefiosLab.github.io/post/about/about.jpg"
 alt="Defiosæ ªåŒäŒç€Ÿ æ¬ç€Ÿ" width="500px">
</figure></description>
</item>
<item>
<title>About</title>
<link>https://DefiosLab.github.io/about/</link>
<pubDate>Sat, 01 Oct 2022 00:00:00 +0000</pubDate>
<guid>https://DefiosLab.github.io/about/</guid>
<description><p><strong>ãã®ããã°ã¯ãDefiosæ ªåŒäŒç€Ÿã®æ§ã
ãª ææŠ<del>Defio</del> ã®èšé²ãæžããŠããããã°ã§ãã</strong></p>
<p>ãšããã£ãããTopã«ã¯æžããŸããã&hellip;<br>
æ®æ®µAIãIoTé¢ä¿ã®éçºãè¡ãåŒç€Ÿã®ç€Ÿå¡ããæè¡ããéã³ã岩æã§ã®ä»äºã®æ§åãªã©ããããããŒãã«ã€ããŠèªç±ã«æžãäœã§ãããã°ã§ãã<br>
èšäºã«ã€ããŠã®ã³ã¡ã³ãã¯<a href="https://twitter.com/intent/tweet?hashtags=Defios_Lab">#Defios_Lab</a>ã®ããã·ã¥ã¿ã°ã§ãTwitterãFacebookã«æçš¿ããŠãããããšå¬ããã§ãã</p>
<p>â DefiosLab æé· ç«¹ç° å€§å°</p>
<hr>
<p>This blog is written by an employee of Defios Corporation, an IT company that develops AI and IoT.<br>
I write articles mainly about technology.<br>
I also write articles about Iwate Prefecture in Japan, where the company&rsquo;s office is located.</p>
<p>â Director of DefiosLaboratory Takeda Hiromasa</p>
<figure><img src="https://DefiosLab.github.io/about/about.jpg"
 alt="Defiosæ ªåŒäŒç€Ÿ æ¬ç€Ÿ" width="300px">
</figure></description>
</item>
</channel>
</rss>