- 運営しているクリエイター
2020年2月の記事一覧
iPadでSwift Playgrounds!
iPad のアプリ。Swiftのプログラミングが見て楽しく、触って面白くできてます。アプリが登場してから数年が経過して、日本語にも対応しています。
今ではAR(拡張現実)や去年発表されたSwiftUIというフレームワークまで使えるようになっています。このアプリが良いところはIPadのアプリということもありiPadのセンサーなどが即座に使えるところです。MacのXcodeでは一手間かけて実機に出力
PyTorchでDeep Learning実装。- 学習
https://note.com/dngri/n/n16991ef1f828
の続きです。まず流れですが、
クラスの実体化、データを読み込み、そして訓練(tranning),テスト(test)としていきます。最後にはグラフで学習率を可視化しています。
ネットワーク、データが用意できたので学習させる実行部分です。最初に基本的なものを決めていきます。学習回数、保存用の変数、ネットワークの実体化と
PyTorchでDeep Learning実装。- 準備
実装してみます。有名なMNISTを使います。まずライブラリ。
import torchimport torch.nn.functional as ffrom torch.utils.data import DataLoaderfrom torchvision import datasets, transformsimport matplotlib.pyplot as plt
そしてネットワーク
PyTorchの基本。 - 2-逆伝播と自動微分
PyTorchの基本。 - 1の続きです。
バックプロパゲーション(逆伝播)と自動微分(Autograd)を考えます。
PyTorchでは、backward()メソッドを呼び出すと、バックプロパゲーション(Back-propagation:Backprop、誤差逆伝播)が行われる。
バックプロパゲーション(Back-propagation:Backprop、誤差逆伝播)とはニューラルネットワ
PyTorchの基本。 - 1 -ネットワーク。
ITmediaさんのPyTorcth特集記事をみながら、ニューラルネットワークをライブラリを使わないものと比較してみます。GoogleのColabを使います。
上記サイトも参考になります。
まず、定義です。これがないと始まりません。
import torchimport torch.nn as nn
ニューラルネットワークの基本クラスを作っていきます。
torch.nn.Module
やっぱり。JavaScript!-コールバック関数ってなんなんだ?
わかりやすいサイトがあったので記録がてらご紹介。
JavaScriptにはコールバック地獄があるとよく言われていますが、今一つピンと来なかったんですが、このサイトではスッキリわかる解説がしてあります。
「別の関数に呼び出してもらうための関数」
と呼ばれていて、なんとなくわかったきでいますが、やっぱりわかりにくいですね。ここでは一定時間後に実行してもらう関数
setTimeout(funct
SwiftUIで行こう! 電卓を作ろ!-まとめ。
とりあえず電卓として動くようになりました。単純な計算ですけど。
それでこの仕組みを少し考えてみることにします。
まず電卓の中心的な機能、それは数字と演算するボタン。ボタンを押すと表示されそして、演算子を押すことで今回の電卓ではπ、ルート、掛け算ができるようにしています。
順番に機能を分解していきます。
数字のボタンで数字を決めます。ここでは数字を続けて押すことで桁数を変えることができます。
MacでSwift Playgrounds!
iPadアプリ"Swift Playgrounds"ですが、Macに移植されMacAppStoreで無料でダウンロードができるようになったので試してみました。
起動してみるとiPadのSwift Playroundsと一緒です!当たり前かもしれませんが。早速やってみましょう。
ダウンロードして開始してみます。
この画面から始まります。
コードの候補が左下に出てきます。これをクリックすること
SwiftUIで行こう! 電卓を作ろ!-効率的に!
仕組みを整理していき効率よく計算ができるようにします。。以下参考にしています。
https://www.youtube.com/watch?v=hBO81LgQcJM
ここではまず記号が入力された場合にすることが決めてある部分を再定義していきます。
別ファイル管理として、CalcBrain.swiftというファイルを作ります。
構造としては以下
struct CalcBrain {
SwiftUIで行こう! 電卓を作ろ!-演算しましょ。
https://note.com/dngri/n/n00eb7baa824d
の続きです。数字が打てるようになったのでいよいよ演算していきます。
https://www.youtube.com/watch?v=gDEeILcSK_U
を参考に作っていきます。
struct UnarySymbols:View
について演算ができるように計算ができるように関数funcを作っていきます。
SwiftUIで行こう!-macOSで使う!
AppleのSwiftUI公式チュートリアルで macOSが公開されています。ぜひやってみたい!
Creating a macOS App
※ 2020/2/8現在、Project filesがダウンロードできないようです。
※2020/2/9 Project filesダウンロードができるようになりました。
iOSと同じコードでApple Watch、macOSでも同じことが再現できます
SwiftUIで行こう! 電卓を作ろ!-数式も。
続きです。下記の動画を参考にしてやります。
https://www.youtube.com/watch?v=gDEeILcSK_U
まず、整理していきます。"struct ContentView: View"の
ForEach(digits,id:\.self){rowDigits in HStack(spacing:12){
SwiftUIで行こう! 電卓を作ろ!-数字を表示。
In A Nutshellさんの以下動画を参考に電卓を作っていきます。
https://www.youtube.com/watch?v=JGlWrqMbizI
まず単純に水平方向(HStack)にButton()を使って数字を表示します。まず、水平に"9"と"7"を表示させます。
import SwiftUIstruct ContentView: View { var body: some
SwiftUIで行こう! 電卓を作ろ!-基本。
電卓を作る場合を考えてみます。基本的な機能についてなるべく単純にしてみます。
演算としては足し算、引き算ができるようにします。実際に作り場合はボタンを使って数字、演算子を入れて計算させます。
流れとしては、
数字1 → 演算子("+" or "-") → 数字2 → 演算子(=) → 答え!
というふうになります。今回は数字は固定します。
数字1(first)が"9"、 数字2(se