NINA HOUSE

技術ブログ作ってみる

【AZ-104】Azureアカウントの基本

Azureアカウントを作成する

docs.microsoft.com

Azure無料アカウント

  • 12か月無料で使えるアカウント
  • 最初の30日間に利用できる$200米国ドルのクレジットつき
  • 特定の製品については期間越しても無料でアクセスできる

Azureの購入オプション

  • Azure.comより直接購入
  • Microsoftの担当者をからの購入
  • Microsoftパートナーから購入

Azureの課金について

Azureサポートオプション

種類によって受けられるサポートが変わるのでよく確認する。
- Basic - Developer - Standard - Professional Direct

詳しくはこちら↓

azure.microsoft.com

コミュニティのサポートはこちら↓
f:id:nina-b:20210603122744j:plain

【git】とりあえずこれだけ使えればなんとかなるgitコマンドまとめ

よく使うgitコマンドまとめ

チーム開発するようになってようやくちょっとずつ覚えてきました。一人だとまずコンフリクトしないしね。

普段はVisual Studioの「git管理」でやってるのでとっても甘やかされてました。GUI最高。
久々コマンド打たなきゃいけなくなった時にてんぱったので基本のよく使うやつまとめます。随時増やす。

これからローカルで作業

git branch

まず自分がどのブランチにいるか把握。

git checkout [ブランチ名]

ブランチ切り替え。これやってからコード書きましょう。
ブランチ増やすときはgit checkout -b [ブランチ名]

git pull

ブランチを最新にしましょう。pullでfetch + mergeなので、なんか怪しいときはfetchからやってもいいかも。

git merge [ブランチ名]

自分がいるブランチに他のブランチを統合。ここで言う「他のブランチ」はローカルじゃなくてリモートのものなので注意。

git branch -d [ブランチ名]

いらないブランチ消すとき。

これからリモートにあげたい

git status

絶対確認。変更したファイルがわかります。

git add [ファイル名]

git status確認せずgit add .(.は全部あげるとき)とかするとつむ原因。
めんどいけどファイル名指定してあげてく方が確実。(と思う)

git commit -m "コミットメッセージ"

コミットするとき。すぐpushせずにコミットはこまめにしてあげるのも良いですね。 コミットメッセージ(参考)についてはこちら↓

qiita.com

git push

コミットをリモートリポジトリにあげましょう。pushのあとにブランチ名指定してあげる方が確実。

いろいろやったけどわけわからなくなって元に戻したいとき

gitはバージョン管理なので元に戻れます。

git log

コミットの履歴が見れるのでハッシュ値(コミットの番号みたいな)調べましょう。

git reset --hard [ハッシュ値]

これで戻れます。

git reset --hard ORIG_HEAD

まちがってリセットした時はこれで直前のリセットを取り消せます。「直前の」ね。

作業中に他のブランチでの作業が必要になったとき

できるだけコミット&プッシュしとけばいいんだけど、そうもいかないとき。

git stash

コミット前の変更を一時退避します。ブランチ変更前に使います。 名前つけたりすると複数管理できるけど、コマンドだけで操作するときはそもそも多用しない方が良いと思うのでこれでよし。
これ使いこなせるとコンフリクト結構回避できる気がする。

git stash pop

他のブランチでの作業を終えた後もどってきたとき。退避した作業を復元できます。

git覚えるならソースツリーとかで覚えたほうが早かったなと思います。もしかしたら今後導入するかも。

【C#】コンストラクターについて

コンストラクターとは

オブジェクトを生成するために呼び出される特殊なメソッド。

例)

public class Program
    {
        public static void Main(string[] args)
        {
            var dog = new Dog();

            Console.WriteLine($"{dog.Name}, {dog.Age}才");
        }
    }
    public class Dog
    {
        public Dog()   //←これ
            {
                Name = "nina";
                Age =3;
            }

        public string Name { get; set; }

        public int Age { get; set; }
    }
Nina, 3才

このnew Dog()で新しくインスタンスを生成した時にコンストラクタの中身が呼ばれる。(=初期化)

中身が指定されていない場合(空のコンストラクター)はそれぞれの型の既定値(デフォルト値)は呼び出される。
(stringならnull、intなら0、boolならfalseなど)

引数を与えることもできる

このようにも書ける。

public class Program
    {
        public static void Main(string[] args)
        {
            var dog = new Dog("Nina", 3); 

            Console.WriteLine($"{dog.Name}, {dog.Age}才");
        }
    }
    public class Dog
    {
        public Dog(string name, int age)   
            {
                this.Name = name;
                this.Age = age;
            }

        public string Name { get; set; }

        public int Age { get; set; }
Nina, 3才

【C#】大文字小文字を区別せずに文字列を比較する

大文字小文字を区別せずに文字列を比較

「文字列完全一致で条件分岐!」って状況の方がなかなか少ない気もします。(主観です)
ソートや検索機能など実装するときに使えます。

単純に文字列を比較する場合は比較演算子を使います。

var sample1 = "nina";
var sample2 = "NINA";

if (sample1 == sample2)
{
   Console.WriteLine("True");
}
 else
{
   Console.WriteLine("False");
}

もちろんFalseです。
これをTrueにしちゃいましょう。

var sample1 = "nina";
var sample2 = "NINA";

if (sample1.Equals(sample2, StringComparison.OrdinalIgnoreCase))
{
   Console.WriteLine("True");
}
 else
{
   Console.WriteLine("False");
}

これでTrueになりました。
どこが大文字でも小文字でも関係なくなるので、もちろんNinaでもniNAでもいけます。

docs.microsoft.com

【まとめ】AI-900対策・Cognitive Servicesについてまとめた

AI-900受験してきました

受かりました!

直前に試験範囲のCognitive Servicesについて簡単にまとめたので、さらにまとめる。
詳細な範囲についてはラーニングパスを↓

docs.microsoft.com

試験範囲出題割合

出題範囲は大きく分けて5分野。

コンテンツ領域 割合
人工知能のワークロードと考慮事項についての説明 15-20%
Azureでの機械学習の基本原則に関する説明 30-35%
AzureでのComputer Visionワークロードの特徴に関する説明 15-20%
Azureでの自然言語処理NLP)の特徴に関する説明 15-20%
Azureでの会話型AIワークロードの特徴に関する説明 15-20%

表の下3つがAzure Cognitive Servicesの範囲。比較的新しい試験なので参考書等もないため、ひたすらラーニングパスをやって覚えました。
見直しに使えるよう要点をざっくりまとめました。

Computer VisionとCustom Vision

nina-house.hatenablog.com

Face

nina-house.hatenablog.com

光学文字認識OCR

nina-house.hatenablog.com

Text Analytics

nina-house.hatenablog.com

音声認識・合成

nina-house.hatenablog.com

Language Understanding(LUIS)

nina-house.hatenablog.com

Bot Service

まだ

まとめ

出題範囲の半分ぐらい占めてるのでしっかり覚えましょう。

【AI-900】Azureの翻訳サービスとLUIS(Language Understanding)

Azureの翻訳

テキストを翻訳する場合と、音声を翻訳する場合と。

docs.microsoft.com

Translator Text と Speechとそのリソース

Translator Text - テキスト翻訳
  • Translator TextかCognative Services

  • 60 以上の言語間のテキスト翻訳をサポート(from, to で指定)

  • 不適切用語のフィルタリング - 設定を行わない場合、このサービスは不適切な表現を除外せずに入力テキストを翻訳する。 不適切レベルは通常、文化によって異なるが、翻訳されたテキストを不適切なテキストとしてマークするか、結果内で省略することによって、不適切な翻訳を制御できる。

  • 選択的翻訳 - コンテンツにタグを付け、翻訳を行わないようにすることができる。 たとえば、コード、ブランド名、ローカライズ時に意味をなさない単語やフレーズなどにタグを付けることができる。

Speech - 音声からテキストおよび音声から音声への翻訳
  • SpeechかCognative Services

  • 音声テキスト変換 - 音声ソースからテキスト形式に音声を文字起こしするために使用される。

  • テキスト読み上げ - テキスト ソースから音声を生成するために使用される。

  • 音声翻訳 - ある言語の音声を別の言語のテキストまたは音声に翻訳するために使用される。

LUIS(Language Understanding)

もう少し踏み込んだサービス。

IoTのホームオートメイトサービスを作成してみるサンプル↓

docs.microsoft.com

AzureのLanguage Understanding Intelligent Service

  • 発話
  • エンティティ
  • 意図

何ができるかがとってもわかりやすい↓

note.com

Language Understanding 用の Azure リソース

  • Language Understanding: Language Understanding 専用のリソース。"作成" リソースまたは "予測" リソースのいずれか。

  • Cognitive Services: Language Understanding およびその他の多くのコグニティブ サービスを含む一般的なコグニティブ サービス リソース。 このリソースは、"予測" にのみ使用できる。

【AI-900】音声の認識と合成

Azureの音声認識・合成のサービス

docs.microsoft.com

音声認識 - 音声入力を検出して解釈する機能

テキスト変換するのが一般的。

  • 録画またはライブの動画のクローズド キャプションの提供
  • 電話または会議の音声テキストの作成
  • メモの自動ディクテーション
  • 処理の対象となるユーザー入力の特定  など
音声合成 - 音声出力を生成する機能
  1. システムによる音声の合成では通常、テキストが "トークン化" されて個々の単語に分割され、各単語に音声の音が割り当てられる
  2. 音声のトランスクリプトが "韻律" 単位 (フレーズ、句、文など) に分割され、オーディオ形式に変換される音素が作成される  3. これらの音素が、音の高さや音質などのパラメーターを決定する音が適用され、スピーカーへの出力やファイルへの書き込みが可能なオーディオ WAVE 形式が生成されることで、音声として合成される

Azureで提供されているサービス 、必要なリソース

Speech to Text API
  • リアルタイムの文字起こし
  • バッチの文字起こし(storageに入ってたりする音声ファイル)
Text to Speech API
  • 音声合成
    サポートされている言語はこちら↓

言語サポート - 音声サービス - Azure Cognitive Services | Microsoft Docs

言語サポート - 音声サービス - Azure Cognitive Services | Microsoft Docs

【必要なリソース】
音声かCognative Services