chevron_left

メインカテゴリーを選択しなおす

cancel
G.O.R.N
フォロー
住所
未設定
出身
未設定
ブログ村参加

2025/03/21

arrow_drop_down
  • AIモデルの裏側を探る:アテンションメカニズムの可視化とは?

    最近、あちこちに出てきた、Anthtropicの"On the Biology of a Large Language Model"が気になった。紹介としては、MIT Technology Reviewの"大規模言語モデルは内部で 何をやっているのか? 覗いて分かった奇妙な回路(有料記事)“がある。しかし、有料記事であり私も、中身を見ていない。そのため、この記事のベースであろう、原著論文を辿った。 その結果、以下のことが示唆されるようだ。 多段階推論: Claude 3.5 Haikuが、例えば「ダラスを含む州の州都は?」という質問に対して、「テキサス」という中間的な概念を内部で特定し、「オースティン」という最終的な答えを導き出すといった**「二段階」の推論**を実際に行っていることが示されました。アトリビューショングラフによって、この内部ステップを視覚的に捉え、操作することも可能です。 詩の作成における計画: モデルが詩の行を書く前に、潜在的な韻を踏む単語を事前に特定し、計画していることが発見されました。これらの事前に選択された韻の候補が、その後の行全体の構成に影響を与えている様子が観察されています。 多言語回路: Claude 3.5 Haikuは、言語固有の回路と、言語に依存しない抽象的な回路の両方を使用していることがわかりました。より小型で能力の低いモデルと比較して、言語に依存しない回路がより顕著であることが示されています。これは、モデルが概念をより普遍的なレベルで理解し、処理する能力が高まっていることを示唆しています。 足し算の一般化: 同じ足し算の回路が、非常に異なる文脈間で一般化されている事例が確認されました。これは、モデルが抽象的な計算能力を獲得していることを示唆しています。 医療診断: モデルが報告された症状に基づいて候補となる診断を内部で特定し、それらを用いて追加の症状に関するフォローアップの質問を生成する様子が示されました。これも、モデルが明示的にステップを書き出すことなく「頭の中で」推論を行っている例です。 エンティティ認識とハルシネーション: モデルが既知のエンティティと未知のエンティティを区別する回路を持つことが明らかになりました。この回路の「誤作動」がハルシネーションの原因となる可能性があることが示唆されています。既知のエンティティに関する質問に対しては、モデルは既知の答えを抑制する

  • Hugo PaperModにBlueskyへの共有を追加する

    このBlogでは、現在、Hugo PaperModをテーマとして使用しています。現在、Hugo PaperModは結構いろいろなSNSに共有する機能がありますが、 残念ながらBlueskyへの共有はついていません。しかし、対応自体は可能です。 まず、共有はthemes/hugo-PaperMod/layouts/partials/share_icons.htmlに実体があります。 この中を見ていきます。 以下のようなものが見えてきます。 {{- if (or (cond ($custom) (in $ShareButtons "x") (true)) (cond ($custom) (in $ShareButtons "twitter") (true))) }} <li> <a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title plainify }} on x" href="https://x.com/intent/tweet/?text={{ $title }}&amp;url={{ $pageurl }}&amp;hashtags={{- $.Scratch.Get "tags" -}}"> <svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor"> <path d="M512 62.554 L 512 449.446 C 512 483.97 483.97 512 449.446 512 L 62.554 512 C 28.03 512 0 483.97 0 449.446 L 0 62.554 C 0 28.03 28.029 0 62.554 0 L 449.446 0 C 483.971 0 512 28.03 512 62.554 Z M 269.951 190.75 L 182.567 75.216 L 56 75.216 L 207.216 272.95 L 63.9 436.783 L 125.266 436.783 L 235.9 310.383 L 332.567 436.783 L 456 436.783 L 298.367 228.36

  • HugoによるBLOGサイトの作成

    もともとは、他のBLOGの記事をベースに書いていた記事があったのですが、 参考サイトがなくなってしまったため、すべてを書く必要が生じました。 そのため、前提条件を含めて記載します。なお、本記事はWindows環境下を前提にしています。 ※ なお、この記事はまだ作成を進めているので、予告なく変更されます。 レポジトリ構成 この記事では次のレポジトリ構成を想定しています。 BLOG用メインレポジトリ 記事公開用レポジトリ 記事公開用レポジトリはサブモジュールとして、BLOG用メインレポジトリに組み込みます。したがって、全体のディレクトリ構成は以下のようになります。 / - root - archetypes - content - post - layouts - public - static - theme 記事公開用レポジトリはpublicに組み込みます。 テーマ管理用レポジトリはthemeの配下に組み込みます。 使用したツール 名称 Visual Studio Code cmd scoop 必要なツールの取得 scoopのインストール スタートからPowerShellを起動する PowerShellの設定変更 Set-ExecutionPolicy RemoteSigned -scope CurrentUser PowerShellからのScoopのインストール iex (new-object net.webclient).downloadstring('https://get.scoop.sh') gitのインストール scoop install git hugoのインストール scoop install hugo-extended テーマの準備 テーマは https://themes.gohugo.io/ から探されるといいと思います。 テーマに対する小幅な変更はlayouts以下に同構造でファイルを複製して修正することになります。これにより、themes以下を直接修正しなくても良くなります。 本アーティクルでは、hugo-PaperModの使用を前提として進めます。 BLOG用メインレポジトリの準備 を以下のコマンドで準備します。 hugo new site <my_site> BLOG用のディレクトリが出来たら git init後、github等適当なところにpushします

  • EvidenceによるBI入門 #003.1

    Evidenceを理解する上でのポイントとして、静的サイトジェネレータを箸休めとして説明します。 まず、静的サイトと動的サイトの区別からです。静的サイトとは、コンテンツがファイルとして固定され、サーバはリクエストに基づきただ配信するだけのものです。初期のホームページと言われたもののスタイルです。 次に動的サイト、これはリクエストに応じて何らかのコードがサーバ上で実行され、動的にレスポンスが生成され、それがクライアントに返されるものです。WordpressなどのBLOGサービスなどはこの形態です。 静的サイトとは Wordpressなどではコンテンツはデータベースに格納されたものがベースで、同じようにテーマなどの情報がデータベースに格納され、それがユーザのリクエストによって組み立てられて返答されるという構造です。 静的サイトと動的サイトの差異 これだけで「静的サイトジェネレーター」のすべてがわかりますを参考にすれば以下のように纏められます。 動的サイト 静的サイト 表示されるページ ユーザーに応じて表示するページを変更できる 全員に同じページを表示する スピード 遅い 速い ページが生成される時 アクセスされた時 ビルド時 Wordpressなどが動的サイトとして構成されたのは、データベースにコンテンツ、テーマを格納しそれをリクエスト時に構築するという構造が都合が良かったためです。 静的サイトが再度注目された理由 しかし、今、再度、静的サイトジェネレータが注目された理由があります。まず、宿命的に表示されるコンテンツをユーザに合わせてというのは苦手ですが、通常のBlogサービスであれば、読者は通常ログインなどの手続きをしないため、ユーザに合わせては要件から除外できます。そうすると、動的サイトのメリットはかなり減ります。恐らく、GUIでのWebベースでのコンテンツメインテナンスなどのこの表に書かれていないモノになるでしょう。 そして、「全員に同じページを表示する」であれば、コンテンツへのテーマなどの適用はアクセス時にこだわる必要性はないになります。よって、バッチ的にサイトをコンテンツから生成する静的サイトジェネレータとなるわけです。 静的サイトジェネレータを支える要素 静的サイトジェネレータが注目された理由はそれだけではありません。一つはクライアント端末の性能向上です。例えば、昔の携帯電話のパフォーマンスと今のスマート

  • EvidenceによるBI入門 #003

    Covid-19のダッシュボードの作成を例にしています。イメージとしては、表形式でデータが見えるようにして、時系列で合計値がチャートして見えるようにして、カレンダーヒートマップで曜日ごとの動きが見えるようにするというのを考えてみます。仮説としては人の動きに感染者は依存しているのではないかと言う仮説です。だとすれば、曜日ごとに特徴があるのではないかと言う仮説です。 流れとしては、以下のような順番になります。 プロジェクトの作成 データのインポート クエリとビジュアリゼーションコンポーネントの配置 クエリとビジュアリゼーションコンポーネントの配置は主にMarkdownのドキュメントで行います。 プロジェクトの作成 まず、プロジェクトを作成するところから始めます。プロジェクトの作成はVisual Studio Codeから作成します。 プロジェクトの作成(1/5) プロジェクトの作成(2/5) プロジェクトの作成(3/5) プロジェクトの作成(4/5) プロジェクトの作成(5/5) Evidenceのウェルカム画面 プロジェクトを作成すると、Evidenceのサーバを起動可能になります。Evidenceのサーバを起動すると通常はポート1313で待ち受け状態になります。そうすると、Webブラウザで開けるようになります。ウェルカム画面は以下のようになります。 Evidenceサーバの起動 Evidenceサーバの起動はVisual Studio Codeから行います。コマンドパレットから起動できます。 データのインポート https://www.mhlw.go.jp/stf/covid-19/open-data.html から取得した、新規陽性者数の推移(日別)のデータをプロジェクトフォルダのsourcesにcovid19というディレクトリを作成して 配置します。新規陽性者数の推移(日別)のデータはnewly_confirmed_cases_daily.csvというファイル名なので、newly_confirmed_cases_dailyというテーブルとして識別されます。 データのインポートはEvidenceのサーバからやると、設定ファイルなどを簡単に作成できます。 データのインポート データのインポート (1/4) Evidenceのサーバのインポート画面ではインポート可能なデータ形式の確認ができます。 Evidenceで

  • EvidenceによるBI入門 #002.5

    今回はちょっとだけ箸休め的にScoopによる環境構築を多少補足します。 本シリーズでは基本的には、環境構築はScoopを用いることを前提としています。 Scoopはコマンド一つで様々なパッケージを展開可能なツールです。 Scoopは悪い意味ではまっとうなパッケージマネージャではありません。しかし、以下の条件の元では極めて有効に働きます。 You’re a programmer/developer You want to set up a machine without having to visit a bunch of websites, download installers and then click through each one You’re comfortable working on the command line, especially with tools like Git You’re familiar with UNIX tools, and you wish there were more of them on Windows You read Hacker News and you feel like you’re ‘stuck’ on Windows and missing out on lots of cool things You wish there was an easier way to tell other developers how to install programs (maybe your own programs) You use Homebrew/apt-get and think, “this is awesome”. https://github.com/ScoopInstaller/Scoop/wiki/So-What より。

  • EvidenceによるBI入門 #002

    基本的な準備 システム構成の概要 Evidenceのアーキテクチャ Evidenceは基本的には、データソース、DuckDB、レンダリングエンジンという仕組みになっています。実際には更に、 静的サイトジェネレータも重要な位置を示しますが、その性質からここには表現していません。以下の図にEvidenceの基本的なアーキテクチャを示します。 まず、データソースからデータが取り出され、共通のデータ形式であるParquetに変換されます。ParquetはDuckDBによって利用されます。 従って、Evidenceで利用可能なデータは基本的にParquetに抽出されたデータに限定されます。 よって、標準的なBIツールのようにOn the flyのクエリを動的に送出してリアルタイムなデータを反映させることは出来ません。 従って、そのような要件が含まれる場合にはEvidenceは適切な選択肢ではありません。 従って、ドキュメントの流れまで含めて、アーキテクチャを図示すると以下のような形になります。 動作環境 Evidenceを動作させるためには、以下の環境が必要です。 Node.js: バージョン ≥18.13, 20, または 22 が必要です。初めてインストールする場合は、LTS(長期サポート)バージョンの利用が推奨されています。現在のNode.jsのバージョンはコマンド node -v で確認できます。 NPM (Node Package Manager): バージョン 7 以上が必要です。 Git: Gitがインストールされている必要があります。Gitがインストールされていない場合は、インストールする必要があります。GitHubへの登録も推奨されています。 これらの要件を満たすことで、Evidenceをローカル環境にインストールし、データプロダクトの構築を開始することができます。 現在のNode.jsのバージョンの確認方法 node -v 最新のNode.jsへの更新方法 scoop update nodejs-lts npmのバージョン確認方法 npm -v gitのインストール方法 scoop install git Evidenceのインストール方法 Evidenceには幾つかのインストールパターンがありますが、ダッシュボード開発時にはVisual Studio Codeと専用の拡張機能の利用が推奨されます。 本

  • EvidenceによるBI入門 #001

    目的と対象読者 このドキュメントは、Windows環境を前提にEvidenceの利用方法について記述しています。Evidenceは様々な環境で稼働しますが、執筆時点での環境および設定を基準としています。 対象読者 Evidenceをはじめて利用する方 Windows環境でのセットアップ利用方法に関心のある方 前提条件 インストール済みのソフトウェア Visual Studio Code Git Node.js npm Node.jsのインストール方法 Scoopを利用し、執筆時点のLTSを利用しています。 Evidenceのバージョン バージョン 40.1.1をターゲットにしています。 Evidenceとはなにか 「Evidence」とは、Markdownで管理できるオープンソースのBI(ビジネスインテリジェンス)ツールです。 具体的には、レポート、意思決定支援ツール、埋め込みダッシュボードなどのデータプロダクトを構築するための オープンソースのフレームワークと説明されています。 Evidenceの主な特徴は以下の通りです。 コード駆動型BIツール:ドラッグ&ドロップ式のBIツールとは異なり、コード(主にSQLとMarkdown)を使用してデータプロダクトを構築します。 Markdownで管理: Markdownファイル内でSQLクエリを記述し、コンテンツやレイアウトを管理します。 多様なデータソースに対応: データウェアハウス、フラットファイル(例:CSV)、非SQLデータソースなど、さまざまな種類のデータソースを扱うことができます。 SQLクエリの実行と結果の可視化: Markdownページに記載されたSQLステートメントに基づいてデータソースに対してクエリを実行し、その結果をグラフや表としてウェブサイトに出力できます。Markdown内で使用されるSQLはDuckDBのSQLです。 静的サイトの生成 出力は静的なウェブサイトとして生成されるため、デプロイや共有が容易です。npm run buildコマンドで静的サイトを生成し、S3などのホスティングサービスに格納して簡単に共有できます。 豊富なコンポーネント: クエリ結果に基づいて、さまざまなチャート(棒グラフなど)、表(DataTable)、大きな単一の値(BigValue)などのコンポーネントをレンダリングできます。 高度な機能: テンプレートページに

  • BLOGリニューアル

    BLOGのテーマを入れ替えて、再構築しました。 前のHugo Bootstrap Premiumが今のHugoでは古すぎるので。

  • SingularityのWSL2への構築

    SingularityコンテナをWSL2上に構築しました。構築環境はSingularityの公式サイトの記述に基づき、Ubuntu 22.04上とします。 参考となるドキュメントは https://docs.sylabs.io/guides/latest/admin-guide/installation.html#installation-on-windows-or-mac に存在します。このドキュメントに従えば、Singularity 4.0.0がインストールされます。 手順としては以下の通りになります。 wget https://github.com/sylabs/singularity/releases/download/v4.0.0/singularity-ce_4.0.0-jammy_amd64.deb sudo apt install ./singularity-ce_4.0.0-jammy_amd64.deb まず、Singularity 4.0.0のUbuntu 22.04用のdebファイルを取得します。しかる後に、debファイルをaptコマンドでインストールします。当方で実行したときにはいくつか気になるメッセージが出力されていましたがインストール自体は行われているようです。以下のメッセージの表示理由等は未解明です。 N: Download is performed unsandboxed as root as file ‘/home/gorn/singularity-ce_4.0.0-jammy_amd64.deb’ couldn’t be accessed by user ‘_apt’. - pkgAcquire::Run (13: Permission denied) さて、Singularityがインストールできたので確認してみます。 以下のファイルをex001.defとして作成します。 Bootstrap: docker From: ubuntu:22.04 %post apt-get -y update apt-get -y upgrade %runscript echo "Hello, Ubuntu" 以下のコマンドでビルドします。 singularity build ubuntu.sif ex001.def Ubuntu 22.04のイメージとなります。 Shellでコンテナの中に

  • RinnaStableDiffusion

    Rinnaから日本語対応のStable Diffusionが出たのでをGoogle Colab上で使ってみました。 コードとしては以下のような形です。bashのコードはJupyterから投げます。 pip install gradio try: from japanese_stable_diffusion import JapaneseStableDiffusionPipeline except: res = subprocess.run(['pip', 'install', 'git+https://github.com/rinnakk/japanese-stable-diffusion'], stdout=subprocess.PIPE).stdout.decode('utf-8') print(res) from japanese_stable_diffusion import JapaneseStableDiffusionPipeline import torch from torch import autocast from diffusers import LMSDiscreteScheduler from PIL import Image from IPython import display import gradio as gr def make_grid_from_pils(pil_images): w, h = pil_images[0].size grid_img = Image.new("RGB", ((len(pil_images)) * w, h)) for idx, image in enumerate(pil_images): grid_img.paste(image, (idx * w, 0)) return grid_img from huggingface_hub import notebook_login notebook_login() model_id = "rinna/japanese-stable-diffusion" device = "cuda" if torch.cuda.is_available() else "cpu" # Use the K-LMS scheduler here instead scheduler = LMSDiscreteSchedu

  • Hugo応急対応

    Hugoの更新にテンプレートが追従していないので応急対応しました。 旧(themes/layouts/partials/base/metas.html) {{ if .RSSLink }} <link href="{{ .RSSLink }}" rel="alternate" type="application/rss+xml" title="{{ .Title }}" /> {{ end }} <link rel="canonical" href="{{ .Permalink }}" /> <link rel="apple-touch-icon-precomposed" sizes="144x144" href="/touch-icon-144-precomposed.png"> <link rel="icon" href="/favicon.png"> {{ .Hugo.Generator }} 新(themes/layouts/partials/base/metas.html) <link rel="canonical" href="{{ .Permalink }}" /> <link rel="apple-touch-icon-precomposed" sizes="144x144" href="/touch-icon-144-precomposed.png"> <link rel="icon" href="/favicon.png"> 旧(themes/layouts/partials/base/metas.html) {{ range first 10 $value.ByCount }}<li><a href="{{$.LanguagePrefix }}/{{ $key }}/{{ .Name urlize }}">{{ .Name }}</a></li>{{ end }} 新(themes/layouts/partials/bloc/content/metas.html)

  • StableDiffusion

    Stable DiffusionをGoogle Colab上で使ってみました。 コードとしては以下のような形です。bashのコードはJupyterから投げます。 pip install diffusers==0.2.4 pip install transformers scipy ftfy pip install "ipywidgets>=7,<8" from google.colab import output output.enable_custom_widget_manager() from huggingface_hub import notebook_login notebook_login() import torch from diffusers import StableDiffusionPipeline # make sure you're logged in with `huggingface-cli login` pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", revision="fp16", torch_dtype=torch.float16, use_auth_token=True) pipe = pipe.to("cuda") from torch import autocast prompt = "a galaxy far from earth" with autocast("cuda"): image = pipe(prompt)["sample"][0] # image here is in [PIL format](https://pillow.readthedocs.io/en/stable/) # Now to display an image you can do either save it such as: image.save(f"galaxy_far_from_earth.png") # or if you're in a google colab you can directly display it with image “a galaxy far from earth"から画像を作成し、以下のような画像になります。

  • Renew My Chromebook

    旧式化したChromebook機をリプレイス。

  • ASUSTOR NAS からのサルベージ

    ASUSTOR NASからのファイルサルベージ手順を解説します。 まず、ASUSTORのNASでは通常、Btrfsによるファイルシステムが組まれています。 そのため、ドライブのマウントにはWindows 11のWSLを使用します。 WSLによるドライブのマウントはInsiderのBuild 20000前後から有効になったので、Windows 11であれば通常利用できます。 まず、Windows上でのデバイス名の調査が必要です。 現状では一番手っ取り早いのはwmicを使った方法です。wmicは開発が終了していますが現在はまだ使用できます。 wmic diskdrive list brief これにより、Windowsに接続したドライブのデバイス名を取得できます。 そのうえで、WSLからドライブをマウントします wsl --mount \\.\PHYSICALDRIVE2 --bare RAIDを組んでいる場合、bareでマウントする必要があります。 WSLが起動したら、dmesgで確認します。 sudo smesg tail [ 79.173171] hv_pci a5b3974f-ec42-4778-8210-d21a045a897a: PCI VMBus probing: Using version 0x10003 [ 79.224968] hv_pci a5b3974f-ec42-4778-8210-d21a045a897a: PCI host bridge to bus ec42:00 [ 79.224970] pci_bus ec42:00: root bus resource [mem 0xbffe1c000-0xbffe1efff window] [ 79.225616] pci ec42:00:00.0: [1af4:1049] type 00 class 0x010000 [ 79.226281] pci ec42:00:00.0: reg 0x10: [mem 0xbffe1c000-0xbffe1cfff 64bit] [ 79.226699] pci ec42:00:00.0: reg 0x18: [mem 0xbffe1d000-0xbffe1dfff 64bit] [ 79.227112] pci ec42:00:00.0: reg 0x20: [mem 0xbffe1e000-0x

  • このブログについて

    このブログはG.O.R.Nが管理する技術ブログです。 このブログの利用について この 作品 は クリエイティブ・コモンズ 表示 - 非営利 - 改変禁止 4.0 国際 ライセンスの下に提供されています。 CC-BY-NC-ND 以外のライセンスをご希望の方はご相談ください。 なお、シェアニュースジャパンおよび類似のメディアに対してはいかなる恩恵も与えません。

  • Microsoft Ignite 2021 Fall Update

    Introduction DLLABでIgnite 2021 Fallを受けての最新アップデートとして勉強会が開催されたので受講しました。 Program 時間 セッションテーマ 登壇者 13:00 - 13:10 Azure AI アップデート 小田 健太郎 Azure Product Marketing Manager 13:10 - 13:40 Azure AI アップデート 小川 航平 Cloud Solution Architect 13:40 - 14:10 Azure Synapse Analytics アップデート 永田 祥平 Cloud Solution Architect 14:10 - 14:20 Q&A 各スピーカーより 14:20 - 14:30 クロージング 小田 健太郎 Azure Product Marketing Manager Topic Azure AI アップデート Azure Video Analyzer Azure Cognitive Search Semantic Search Azure Cognitive Service for Lanaguage カスタムテキスト分類 カスタム固有表現認識 (NER) 会話言語理解 Azure Open AI Service Azure Machine Learning テキストラベル付けプロジェクトを作成してラベルをエクスポートする Machine Learning + Analytics PREDICT in Synapse Spark Synapse ML (旧 Microsoft Machine Learning for Apache Spark) Cognitive Services Linked service for Synapse Azure Synapse Analytics アップデート Azure Synapse Analyticsの物理的アーキテクチャ Azure Synapse Link Azure Synapse Link for Cosmos DB Azure Synapse Link for Dataverse Azure Synapse Link for SQL Server 2022 Event Hub Premium Synapse Data Explorer データベーステンプレート Sy

  • Transformersによる文書の分類

    Hugging Face Transformersを使ってネガポジを判定するモデルを作ってみました。 query title label negaposi この映画は本当に面白い 0 みたいな形で教師を作り、それを投入して学習させました。 東北大学の日本語 BERT モデルを事前学習モデルとし、 それをSequence Classificationさせました。 モデリング自体は、Google Colaboratoryを用いて実行しました。 学習 !pip install transformers[ja]==4.3.3 torch==1.9 sentencepiece==0.1.91 from google.colab import drive import pandas as pd from sklearn.model_selection import train_test_split from transformers import BertJapaneseTokenizer, BertForSequenceClassification, BertForMaskedLM, pipeline, Trainer, TrainingArguments import torch drive.mount('/content/drive') training_data = pd.read_csv('/content/drive/MyDrive/Texts/negaposi-sentence.csv') training_data.head() print(len(training_data["query"].unique())) training_data[["title", "label"]].groupby("label").count() train_queries, val_queries, train_docs, val_docs, train_labels, val_labels = train_test_split( training_data["query"].tolist(), training_data["title"].tolist(), training_data["label"].tolist(), test_size=.5 ) model_name = 'cl-tohoku/bert-base-

  • Ignite2021 Fall Cloud Skill Challenge

    (https://csc.docs.microsoft.com/ignite/registration/fall2021) チャレンジ期間 2021 年 11 月 3 日 (水) 1:00 AM ~ 12 月 1 日 (水) 1:00 AM [日本時間] チャレンジ概要 「Microsoft Ignite Cloud Skills Challenge – November 2021」は、日本時間 2021 年 11 月 3 日 (水) 1:00 AMに開始し、2021 年 12 月 1 日 (水) 1:00 AM に終了します。 「Microsoft Ignite Cloud Skills Challenge – November 2021」の登録時には、メールアドレスの入力が必要です。ご記入いただいたメールアドレスに、無料受験バウチャーの詳細をご連絡いたします。 「Microsoft Ignite Cloud Skills Challenge – November 2021」対象のクラウド関連スキルのコースを 1 つ受講完了することで、マイクロソフト認定試験を 1 回無料で受けることができます。 無料受験バウチャー (特典) の詳細 チャレンジの回数にかかわらず、お一人様 1 回のみご利用いただけます。 政府職員の方は、無料の認定試験を受ける前に、ご自身の参加が許可されているか、また適用されるポリシーや法律に従っているかどうか、雇用主にご確認ください。 無料受験バウチャー (以下、特典) は、Pearson Vue 公認のテストセンターまたは Pearson Vue のオンライン試験サイトで実施される Microsoft Certification 試験を 1 回受験するために利用できます。 本特典は、マイクロソフト社の一部の試験にのみ適用されます。対象となる試験は以下の通りです。

  • Microsoft Loop gives users a single, flexible and collaborative canvas to get work done

    MicrosoftはIgnite 2021 Fallで新しいコラボレーションツール Loopを発表した。 Microsoft Loopはスタンドアロンのアプリとしても、Outlook、Teams、OneNote、 Whiteboardに組み込まれた形もある。 参考資料 マイクロソフト、「Microsoft 365」の新コラボレーションツール「Loop」を発表 (https://japan.cnet.com/article/35178924/) MicrosoftがOfficeユーザー向けに発表した新たなコラボレーションツール「Microsoft Loop」では何ができるのか? (https://gigazine.net/news/20211104-microsoft-loop-office-collaboration-tool/)

  • Create an image labeling project and export labels

    WIP 参考資料 Create an image labeling project and export labels (https://docs.microsoft.com/en-us/azure/machine-learning/how-to-create-image-labeling-projects)

  • Introducing Mesh for Microsoft Teams

    WIP 参考資料 Microsoft Teamsがメタバース対応、3Dアバターと仮想空間で現実のミーティングを再現 (https://atmarkit.itmedia.co.jp/ait/articles/2111/04/news052.html)

  • Azure Container Apps now in preview

    コンテナをサーバレスで実行する、Azure Container Appsが発表されました。 今まで、存在するサービスで近さがあるものといえば、 Azure Container Instances (ACI) Web App for Containers Azure Service Fabric Azure Functions Azure Durable Functions 参考資料 Web App for Containers と Azure Container Instances の比較 (https://qiita.com/changeworld/items/92e0077bc95d2d89db86) Microsoft、コンテナをサーバレスで実行する「Azure Container Apps」発表 (https://www.itmedia.co.jp/news/articles/2111/04/news081.html)

  • SQL Server 2022 now in preview

    SQL Server v.NextことSQL Server 2022登場。 基本的には謡われているのはこの辺。 Business continuity through Azure Seamless analytics over on-prem operational data Visibility over your entire data estate The most secure database over the last 10 years Industry-leading performance and availability これだけだと、さっぱりわからない。 基本的には、Business continuity through AzureはAzure SQL Managed Instanceとの連携。Seamless analytics over on-prem operational dataは、Synapse Linkを利用できる。 この辺の内容については、参考資料にあげた、SEの雑記の記事が参考になります。 参考資料 Ignite 2021 で SQL Server 2022 がアナウンスされました (https://blog.engineer-memo.com/2021/11/03/ignite-2021-%E3%81%A7-sql-server-2022-%E3%81%8C%E3%82%A2%E3%83%8A%E3%82%A6%E3%83%B3%E3%82%B9%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F/)

  • Azure Cognitive Services offers preview of Azure Open AI Service

    MicrosoftはOpenAIのGPT-3のAzure実装であるAzure OpenAI ServiceをIgnite 2021 Fallで発表した。当初はInvitation Only、すなわち招待した限定的な顧客にのみ提供される。 参考資料 Microsoft、自然言語処理モデルGPT-3がAzureで使える「Azure OpenAI Service」を発表 (https://atmarkit.itmedia.co.jp/ait/articles/2111/04/news053.html)

  • Ignite Fall 2021 まとめのまとめ

    秋 Ignite 2021 まとめのまとめ とりあえず、暫定対応ですがまとめのまとめを出します。 (随時更新) Ignite 2021 Fall (https://feedly.com/i/subscription/feed%2Fhttps%3A%2F%2Ffeedly.com%2Ff%2FKcPFPWUv7uPpxDGksnI7hN46) Ignite November 2021 Book of news (https://news.microsoft.com/ignite-november-2021-book-of-news/) Ignite Fall 2021 (https://technow.grayrecord.com/2021/11/04/ignite-fall-2021/) Microsoft Ignite 2021 November の私的必見セッション (https://idea.tostring.jp/?p=6227) 2021/11/1週の Azure updates まとめ【Microsoft Ignite 祭り!】 (https://olivia.jp/wordpress/?p=109) Microsoft Ignite 2021 秋の基調講演まとめ (https://memo.tyoshida.me/others/microsoft-ignite-2021-fall-keynote/) Microsoft Ignite Cloud Skills Challenge – November 2021 を実施! クラウド関連スキルのコースを受講し、マイクロソフト認定資格の無料受験バウチャーを手に入れよう‼ (https://www.microsoft.com/ja-jp/events/azurebase/blog/microsoft-ignite-cloud-skills-challenge-november-2021/) What’s New in Azure App Service - Fall Ignite 2021 Edition! (https://techcommunity.microsoft.com/t5/apps-on-azure/what-s-new-in-azure-app-service-fall-ignite-2021-edition/ba-p/2901581) ロー

  • Ignite Fall 2021

    Ignite November 2021 Book of news (https://news.microsoft.com/ignite-november-2021-book-of-news/) から Microsoft公式のまとめた資料である、Book of newsが出ています。 構成は下記のようになっています。 1. Azure 1.1 Azure AI 1.1.1 Azure Cognitive Search supports more languages 1.1.2 Azure Cognitive Services offers preview of Azure OpenAI Service 1.2 Azure Data 1.2.1 Azure Cosmos DB introduces developer-friendly features 1.2.2 Azure Synapse Analytics announces updated features and enhancements 1.2.3 Flexible Server deployment option for Azure Database for MySQL and Azure Database for PostgreSQL generally available this month 1.2.4 New investments in Azure SQL boost performance and security 1.2.5 SQL Server 2022 now in preview 1.3 Azure Dev & Ecosystem 1.3.1 Azure Communication Services SMS short code preview and Microsoft Teams interoperability general availability 1.3.2 Azure Container Apps now in preview (https://technow.grayrecord.com/2021/11/04/ignite2021_fall_azurecontainerappsnowinpreview/) 1.3.3 Azure Logic Apps updates 1.3.4 Azure Service Bus l

  • Windows11

    いささか、Oldsだが。 Lenovo ThinkBook 13s Gen2とWindows 11を導入した。 とりあえず、WSLgの動作は確認。

  • WSL2上のUbuntu 20.04上に分析環境を構築する

    前提条件 項目 内容 使用ディストリビューション Ubuntu 20.04 LTS Python 環境 Anaconda PC 環境 SLAT 等必要なハードウェアが揃っていること 更新履歴 日付 内容 2021/08/18 Pyenvの仕様変更に追随 https://github.com/lewagon/dotfiles/pull/90 WSL 2環境を準備 Windowsの機能の有効化を行う: Linux用Windowsサブシステムと仮想マシンプラットフォームを有効化 コントロールパネルのWindowsの機能の有効化または無効化から行う Microsoft StoreからUbuntu 20.04LTSをインストール WSL 2にバージョンを変更 WSLの一覧は以下のコマンドで確認できる。 wsl -l -v このコマンドの結果は例えば以下のようになる。 NAME STATE VERSION * Ubuntu-18.04 Stopped 1 docker-desktop Stopped 2 Ubuntu-20.04 Running 2 docker-desktop-data Stopped 2 Ubuntu 20.04をWSL 2にするには以下のようなコマンドを実行する。 wsl --set-version Ubuntu-20.04 2 AnacondaでJupyter環境を構築する Python環境の構築はデータサイエンティストを目指す人のpython環境構築 2016を参考にして、一部のステップをアップデートしています。 アップデートの内容としては、参考記事では旧版のAnacondaがベースとなっているため、サーチパスを変更した結果、pyenvとAnacondaが一部競合を起こしていますが、これは現在のAnacondaでは解決している問題なので、変更を反映しています。また、それに伴い、bashの設定の変更をするためのステップを追加しています。 pyenvをインストールする git clone https://github.com/yyuu/pyenv.git ~/.pyenv echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc echo 'ev

  • Azureに本好きを食わせる

    Azureにも本好きを食わせてみた。 しかし、本の頻度分布多すぎ。 import codecs import configparser from azure.core.credentials import AzureKeyCredential from azure.ai.textanalytics import TextAnalyticsClient config = configparser.ConfigParser() config.read('azure.config') endpoint = config['AZURE']['azure_endpoint'] key = config['AZURE']['azure_ai_key'] client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key)) ifs = codecs.open('N4830BU-1.txt', 'r', 'utf-8') lines = ifs.readlines() documents = [''.join(lines)] response = client.recognize_entities(documents, language = "ja") result = [doc for doc in response if not doc.is_error] for doc in result: for entity in doc.entities: print(entity.text, entity.category) プロローグ Organization 本須 麗乃 Person もとすうら Person 22歳 Quantity 本 Product 誰か PersonType 筆者 PersonType 本 Product 本屋 Location 図書館 Location 写真集 Product 外国 Location 本 Product 百科事典 Product 文学全集 Product 紙 Product 専門誌 Product 雑誌 Product 小説 Product ライトノベル Product 絵本 Product 日本 Location 素人が PersonType 同人誌 Product パラ Quantit

  • GiNZAに本好きを食わせる

    GiNZAに本好きの下克上のプロローグを食わせてエンティティ認識を試してみた。 本須 麗乃が本と須でぶった切れた。 なんか、国家安康 君臣豊楽っぽくてなんだかなぁ。 from ginza import * import codecs import spacy nlp = spacy.load("ja_ginza") # GiNZAモデルの読み込み ents = [] with codecs.open('N4830BU-1.txt', 'r', 'utf-8') as text: for line in text: doc = None try: doc = nlp(line.strip()) except: pass if doc: for ent in doc.ents: ents.append(ent) for ent in ents: print(ent.text, ent.label_) 須 麗乃 Person 22歳 Age 三度 Frequency 顔 Animal_Part ニヨニヨ Doctrine_Method_Other 一冊 N_Product 目 Animal_Part 教育学 Academic 民俗学 Academic 数学 Academic 物理 Academic 化学 Academic 生物学 Academic 芸術 Academic 体育 Academic 人類 Mammal 一冊 N_Product 日本 Country 日光 Domestic_Region 肌 Animal_Part 司書資格 Position_Vocation 大学図書館 Facility_Other 司書 Position_Vocation 一日 Period_Day 司書 Position_Vocation 人間 Mammal

  • OpenAI Example on python

    OpenAIのAPIが使えるようになったので、噂のGPT-3を試してみた。 import configparser import openai config = configparser.ConfigParser() config.read('openai.config') openai.api_key = config["OPENAI"]["API_KEY"] response = openai.Completion.create( engine="davinci", prompt="人類は多くの問題を抱えていた。大量の破壊兵器・増えつづけた人口・国際的なテロ・国家間の極端な貧富の差・・・これら問題を解決する為にある計画が実現に向かう。 地球上すべての国家をある1つのコンピュータによって統括しようという大胆な計画。そしてその中央処理装置はMESIAと呼ばれていた。", temperature=0.7, max_tokens=60, top_p=1.0, frequency_penalty=0.0, presence_penalty=0.0 ) print(response) { "choices": [ { "finish_reason": "length", "index": 0, "logprobs": null, "text": " \u5927\u7fa9\u540d\u5206\u3068\u306f\u4f55\u304b\uff1f\u9053\u5fb3\u7684\u306b\u6b63\u5f53\u306a\u7406\u7531\u3068\u306f\uff1f\u7b54\u3048\u306f\u305f\u30601\u3064\u3002\u300c\u65b0\u3057\u3044\u751f\u547d\u4f53\u3092" } ], "created": 1616638002, "id": "cmpl-2h9gQIewmSimGqJ6AZgDAhqBLCSEh", "model": "davinci:2020-05-03", "object": "text_completion" } response_text = response["choices"][0]["text"] response_text ' 大義名分とは何か?道徳的に正当な理由とは?答えはただ1つ。

  • Azure Text AnalyticsをPythonから呼び出す

    import configparser from azure.core.credentials import AzureKeyCredential from azure.ai.textanalytics import TextAnalyticsClient import seaborn as sns import pandas as pd sns.set_style('white') config = configparser.ConfigParser() config.read('azure.config') endpoint = config['AZURE']['azure_endpoint'] key = config['AZURE']['azure_ai_key'] client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key)) documents = [ "iPhoneのマップやばいよ" ] result = client.analyze_sentiment(documents) docs = [doc for doc in result if not doc.is_error] doc = docs[0] confidience_scores = {key:value for key, value in doc.confidence_scores.items()} sentiment = pd.Series(confidience_scores) sentiment positive 0.07 neutral 0.90 negative 0.03 dtype: float64 sentiment.plot.bar() <AxesSubplot:>

  • DLLAB: 強化学習 Day 2021

    Introduction DLLABで強化学習の勉強会が開催されたので受講しました。 Program 開催日: 2021/01/22 時間 セッションテーマ 登壇者 13:00 - 13:10 オープニング&イントロダクション 樋口拓人 (日本マイクロソフト株式会社 Azure AI プロダクトマーケティングマネージャー) 13:10 - 13:40 深層強化学習と実装例 牧野浩二(山梨大学工学部付属モノづくり教育実践センター准教授),西崎博光(山梨大学大学院総合研究部准教授) 13:45 - 14:15 深層強化学習を用いた複合機の搬送制御 菅井駿(コニカミノルタ株式会社) 14:20 - 14:50 これから強化学習を学びたい人へ 吉崎亮介(株式会社キカガク) 14:55 - 15:25 Azure ML 強化学習を用いた最新アルゴリズムの活用手法 大串和正、小川雄太郎(株式会社電通国際情報サービス) 15:30 - 17:00 Minecraft による強化学習の実践 - MineRL ステップ・バイ・ステップ ハンズオン 松崎剛(日本マイクロソフト株式会社) 17:00 - 17:10 クロージング 樋口拓人 (日本マイクロソフト株式会社 Azure AI プロダクトマーケティングマネージャー) Content セッション数はイントロダクションを除いて、5セッション。特にMinecraftによる強化学習の実践というハンズオンのボリュームが大きい 満足感の大きい勉強会になります。 強化学習はアカデミックでの経験としては深層強化学習以前の強化学習が中心になります。 深層強化学習は体形的に学びたいと思ってきましたがなかなか機会がない状態でした。 初学者向けにはキカガクさんの、これから強化学習を学びたい人へのセッションが良いと思います。また、 実際の事例としては、複合機の搬送制御の事例はなかなか興味深い内容でした。 今回のハンズオンもそうですが、強化学習における実装例としてはゲームを実行したものが多く、逆に実世界でどういった事例があるのか ということに関してはなかなか触れられることが難しいので、恐らくは先進的な事例になればなるほどその先進的な部分を明かしたいとは 思わないでしょうから。 今回の勉強会では強化学習の事例としては、Googleのデータセンターの冷却制御、大林組のビルの制振 (PoC)、Googleの半

  • SphinxでKDPを発行するときの文字化け対策

    この記事は、先の記事のつつきとなります。 とりあえず、速やかな対策として、Sphinxのオリジナルなepubテンプレートにクイックハックをしてみました。epubテンプレートはbasicテンプレートの派生なので、basicテンプレートからlayout.htmlをコピーして、xlayout.htmlとして、この中で、header生成を書き換え、書き換えたxalyout.htmlを継承するようにしています。 この私家版改修型、テーマはgithubに置いておきました。 https://github.com/naoyaikeda/kindle-epub-template になります。

  • EPUB on Kindle

    EPUBを使った場合、KDPで公開するとKindleが文字化けする 少なくとも、2020年12月の時点では、HTML5のお作法通りのHTMLはそのままだと、 日本語が文字化けします。 いくつか確かめたので、ここでは対策を共有します。 対策 旧式のmetaタグのhttp-equivを使ってエンコードを指定することです。 現在、HTML5ではmeta charsetを使ってエンコーディングを指定するべきとなっています。 <head> <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF8" /> <meta charset="utf-8" /> このように、metaタグのhttp-equiv属性を用いることで、KDPの文字化けが回避できました。

  • Dotnet Interactive で分析する

    本稿は基本的には執筆中のC#とJupyter Notebookによるデータ分析クックブックからの抜粋になります。フルバージョンは技術書典で。 .NET Interactive とは .NET Interactiveはデータサイエンティスト向けにJupyter Notebook上に.NETの所謂REPLを提供してくれる仕組みです。 基本的には、以下の構造からなります。 Notebooks: Jupyter, nteract, and Visual Studio Code Code bots Devices like Raspberry Pi Embeddable script engines REPLs 環境の構築 本稿ではWindows 10 (201909)上に構築された、WSL上のUbuntu 18.04に環境を構築することを前提としている。 環境が異なる場合には、異なる設定がいるかもしれないことをあらかじめ記述しておきます。202010で現在、再検証中です。 Anaconda環境の構築 pyenvをインストールする git clone https://github.com/yyuu/pyenv.git ~/.pyenv echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc echo 'eval "$(pyenv init -)"' >> ~/.bashrc source ~/.bashrc Anacondaをインストールする pyenv install -l grep ana pyenv install anaconda3-yyyy.MM pyenv rehash pyenv global anaconda3-yyyy.MM conda update conda conda init bash source ~/.bashrc .NET 5環境の構築 wget -nv https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb sudo add-apt-reposi

  • DLLAB: Ignite 2020 最新アップデート Analytics&AI

    Introduction DLLABでIgnite 2020を受けての最新アップデートとして勉強会が開催されたので受講しました。 Program 時間 セッションテーマ 登壇者 14:00 - 14:15 イントロダクション/ Azure AI の全体像 樋口 拓人 Azure AI Product Marketing Manager 14:15 - 14:45 Azure Machine Learning 実験サービスとセキュリティ 女部田 啓太 AI プラットフォームには簡単にモデル開発ができるユーザビリティが求められます。一方で、学習データやモデルはセンシティブな情報を含むためセキュリティも考慮する必要があります。本セッションでは、Azure Machine Learning から遂に一般提供開始 GA になった「自動機械学習 AutoML」 とドラッグ&ドロップでパイプラインを構築する「デザイナー Designer」 を基礎からご説明いたします。また、大幅に進化したセキュリティ機能についてもご説明いたします。 Cloud Solution Architect 14:45 - 15:15 Azure Databricks アップデート 松崎 剛 現在、広く利用されている Azure Databricks における最近と今後のアップデートのうち、大きなアップデートである Runtime 7.x、Photon (コードネーム)、Redash、Workspace 2.0 (ニックネーム) を中心に、それらの機能や技術背景などを解説します。 Partner Cloud Solution Architect 15:15 - 15:30 休憩 15:30 - 16:00 Azure Cognitive Services/ Cognitive Search アップデート 石塚 航希 Azure Cognitive ServicesはAPI形式で利用可能な学習済みのAIパーツです。本セッションでは、Ignite2020で新たに発表された、物理空間を認識し様々なシナリオで応用可能なSpatial Analysisと、異常検知と要因分析を自動化するMetrics Advisorを中心にCognitive ServicesとCognitive Searchにおけるアップデート内容をご紹介します。 Solution Special

  • Prophetでcovid-19の入院治療を要する人数を予測する

    Prophetを使用したサンプルとして、厚生労働省のオープンデータを使用して、入院治療等を要する人数を予測してみました。 %matplotlib inline import urllib import numpy as np import pandas as pd import matplotlib.pyplot as plt from fbprophet import Prophet cases_total_req = urllib.request.urlopen('https://www.mhlw.go.jp/content/cases_total.csv') cases_total_df = pd.read_csv(cases_total_req) cases_total_df['ds'] = pd.to_datetime(cases_total_df['日付']).dt.date cases_total_df['y'] = cases_total_df['入院治療を要する者'] cases_total_df['y'].plot() <matplotlib.axes._subplots.AxesSubplot at 0x1648a3d9c88> model = Prophet() model.fit(cases_total_df) INFO:fbprophet:Disabling yearly seasonality. Run prophet with yearly_seasonality=True to override this. INFO:fbprophet:Disabling daily seasonality. Run prophet with daily_seasonality=True to override this. <fbprophet.forecaster.Prophet at 0x1648a8297c8> future = model.make_future_dataframe(periods=365) forecast = model.predict(future) model.plot(forecast)

  • HugoによるBLOGの作成

    はじめに 当Blogの作成に関する話を纏めます。 本Blogは基本的な作りだけをいえば、以下のような作りです。 項目 内容 コンテンツ管理 GitHub コンテンツ配信 netlify 静的ファイル生成 Hugo テーマ hugo-bootstrap-premium 基本的な段取りはHUGOでブログ作成 → GitHub Pagesで公開する手順を参照しています。 とはいえ、変えているところもあります。テーマとして利用しているのは、Hugo Bootstrap Premiumですが、実際にはこれをフォークしたものを使用しています。理由はGoogle AdSenseなどを組み込むため、テーマを修正する必要があったためです。 また、参考にしたアーティクルはbashベースのdeploy scriptを使っていますが、こちらで使っているのは、ベースを当ブログでデプロイに利用しているスクリプトで公開しているバッチファイルです。 更に言うと、告知のためにRSS → IFTTT → Twitterというルートも用意しています。 使用したツール 名称 Visual Studio Code cmd scoop 必要なツールの取得 scoopのインストール スタートからPowerShellを起動する PowerShellの設定変更 Set-ExecutionPolicy RemoteSigned -scope CurrentUser PowerShellからのScoopのインストール iex (new-object net.webclient).downloadstring('https://get.scoop.sh') gitのインストール scoop install git hugoのインストール scoop install hugo-extended 環境の構築 本稿では出来た成果物はNetlifyで公開することを前提にしています、参考にしている記事ではgithub pagesを使っていますが、私はコンテンツ配信の柔軟性の確保を目的にNetlifyを使っています。 基本的には、最初にレポジトリを2つ用意します。 1: 全体管理用レポジトリ 2: コンテンツ配信用レポジトリ コンテンツ配信用レポジトリは最終的に、全体管理用レポジトリにsubmoduleとして組み込みます。 あと、先も述べたようにHugo Bootstrap Pr

  • Ubuntu 20.04 Analytics Environment

    Ubuntu 20.04 Analytics Environment 先日、リリースされた、Ubuntu 20.04をベースにWSL上で分析環境を作ってみました。 Microsoft StoreからUbuntu 20.04LTSをインストール Microsoft Storeからインストール後にとりあえず、一旦起動してインストールを完了 ユーザを作成する Windows Terminalのsettings.jsonを編集して、Windows Terminalに追加 Ubuntuを最新化する sudo apt update && sudo apt upgrade Jupyer環境をWSL上に構築する 2020の手順でJupyter環境を構築 Microsoft Repository keyを取ってくる wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb 現状ではまだ、パッケージがほぼ無いように思える。 まだ、Microsoftのサイト上でも19.04までしか紹介されていないのはパッケージがまだないからでしょうね。

  • Ubuntu 20.04 Released

    Ubuntu 20.04 Released Ubuntu 20.04 がWSLにも来ています。こちらではポイントリリースにめがけて追いつくようにしますかね。まあ、その前に環境をWSLにでっち上げますが。

  • Power BI 2020 Wave 1

    Power BI 2020 Wave 1 Overview of Power BI 2020 release wave 1が来ていますね。 中身は、 Self-service analytics for everyone Unified platform for enterprise BI Big data analytics with Azure data services Pervasive artificial intelligence for BI 今のところ、Power Platform: 2020 release wave 1 planにある以上の内容はまだつかんでいないです。 つかんだあたりから、本アーティクルは予告なく更新されます。

  • 当ブログでデプロイに利用しているスクリプト

    現在、本ブログでdeployに使っている、スクリプトは以下の通り。 echo "Deploying updates..." hugo -t hugo-bootstrap-premium cd public git add . git commit -m "rebuild" git push origin master cd .. git add . git commit -m "rebuild" git push curl -X POST https://maker.ifttt.com/trigger/deploy_weblog/with/key/XXXXXXXX 基本的にはhugoをビルドして、commitして、Webhookを叩いて、更新の告知を動かすというつくり。

  • 分析環境をWindows上に構築する 2020

    環境の選択 環境構築については、Windowsに限定しても、いくつかの選択肢があります。 Pythonについては、CPythonを標準の配布物から、Anaconda、Microsoft Storeなど 複数の入手経路があります、この文章ではいくつかの理由から、Anacondaを使用しています。 現在は、AnacondaをAnacondaのサイト上から入手していますが、 Anacondaはscoopのextraバケットにもあります。 scoopのインストール スタートからPowerShellを起動する PowerShellの設定変更 Set-ExecutionPolicy RemoteSigned -scope CurrentUser PowerShellからのScoopのインストール iex (new-object net.webclient).downloadstring('https://get.scoop.sh') gitのインストール scoop install git Anacondaのインストール Anaconda Individual Editionから最新版をインストールする。 Windows Terminalのインストール MicrosoftストアからWindows Terminalをインストールする。 Visual Studio Codeのインストール 公式サイトから最新版をダウンロードしてインストールする。

  • Jupyer環境をWSL上に構築する 2020

    前提条件 項目 内容 使用ディストリビューション Ubuntu 18.04 LTS Python 環境 Anaconda AnacondaでJupyter環境を構築する Python環境の構築はデータサイエンティストを目指す人のpython環境構築 2016を参考にして、一部のステップをアップデートしています。 環境構築方法 pyenvのインストール git clone https://github.com/yyuu/pyenv.git ~/.pyenv echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc echo 'eval "$(pyenv init -)"' >> ~/.bashrc source ~/.bashrc anacondaのインストール pyenv install -l grep ana # 最新版を確認する pyenv install anaconda3-yyyy.MM # 先のステップで確認した最新版にする pyenv rehash pyenv global anaconda3-yyyy.MM conda update conda conda init bash # PowerShellの場合、powershellに変える source ~/.bashrc Windows Terminal Previewのインストール MicrosoftストアからWindows Terminalをインストールする。

  • Ububtu 18.04 環境上にJupyterとQ#環境を構築する

    AnacondaでJupyter環境を構築する Python環境の構築はデータサイエンティストを目指す人のpython環境構築 2016を参考にして、一部のステップをアップデートしています。 アップデートの内容としては、参考記事では旧版のAnacondaがベースとなっているため、サーチパスを変更した結果、pyenvとAnacondaが一部競合を起こしていますが、これは現在のAnacondaでは解決している問題なので、変更を反映しています。また、それに伴い、bashの設定の変更をするためのステップを追加しています。 pyenvをインストールする git clone https://github.com/yyuu/pyenv.git ~/.pyenv echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc echo 'eval "$(pyenv init -)"' >> ~/.bashrc source ~/.bashrc Anacondaをインストールする pyenv install -l grep ana # 最新版を確認する pyenv install anaconda3-yyyy.MM # 先のステップで確認した最新版にする pyenv rehash pyenv global anaconda3-yyyy.MM conda update conda conda init bash source ~/.bashrc dotnet coreをインストールする wget -nv https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb sudo add-apt-repository universe sudo apt update sudo apt install apt-transport-https -y sudo apt install dotnet-sdk-3.1 -y # 現状の最新版の3.1をインストールする IQ#をインストールする dotnet tool i

  • Accord .NETでモデリングする

    まず、手始めに簡単な線形回帰を行ってみます。 #r "nuget:Accord" Installed package Accord version 3.8.0 #r "nuget:Accord.Statistics" Installed package Accord.Statistics version 3.8.0 using Accord.Statistics.Models.Regression.Linear; using System; double[] inputs = {80, 60, 10, 20, 30}; double[] outputs = {20, 40, 30, 50, 60}; var regression = new SimpleLinearRegression(); regression.Regress(inputs, outputs); var y = regression.Compute(85); var a = regression.Slope; var b = regression.Intercept; y 28.08823529411765 a -0.26470588235294107 b 50.58823529411764

  • JupyterにMicrosoft.Data.Analysisを入れてみる

    Jupyter環境に展開したC#にMicorosoft.Data.Analysisを載せてみました。 #r "nuget:Microsoft.Data.Analysis, 0.2.0" Installing package Microsoft.Data.Analysis, version 0.2.0………done! using Microsoft.Data.Analysis; #r "nuget:MathNet.Numerics,4.9.0" Installing package MathNet.Numerics, version 4.9.0…….done! Successfully added reference to package MathNet.Numerics, version #r "nuget:XPlot.Plotly" Installing package XPlot.Plotly……….done! Successfully added reference to package XPlot.Plotly, version using MathNet.Numerics; using XPlot.Plotly; var df = Microsoft.Data.Analysis.DataFrame.LoadCsv("Data/german.csv"); df Columns Rows [ [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 … (990 more) ], [ A11, A12, A14, A11, A11, A14, A14, A12, A14, A12 … (990 more) ], [ 6, 48, 12, 42, 24, 36, 24, 36, 12, 30 … (990 more) ], [ A34, A32, A34, A32, A33, A32, A32, A32, A32, A34 … (990 more) ], [ A43, A43, A46, A42, A40, A46, A42, A41, A43, A40 … (990 more) ], [ 1169, 5951, 2096, 7882, 4870, 9055, 2835, 6948, 3059, 5234 … (990 more) ], [ A65, A61, A61, A61, A61, A65, A6

  • Jupyter NotebookにC#をインストールする

    .NET Core with Jupyter Notebooksにある通り、.NET CoreをJupyter Notebookから使えるようになったので、手元のWindows 環境でやってみました。Jupyter Notebookのインストールそのものは、Ububtu 18.04 環境上にJupyterとQ#環境を構築するあたりとか、その元とかが使えると思います。 基本的には dotnet tool install -g --add-source "https://dotnet.myget.org/F/dotnet-try/api/v3/index.json" Microsoft.dotnet-interactive とやって、.NET Interactiveをインストールして、Windows Terminalを再起動して、サーチパスを有効化し、 dotnet interactive jupyter installでjupyterのKernelをインストールしただけです。 あとは、おもむろにjupyter notebookでJupyter Notebookを起動。 System.Console.WriteLine("Foo"); とやって、Fooが出ることを確認できました。 うむ、すごく簡単。 次は、DataFrameで遊んでみよう。

  • ProphetをWindows上のAnacondaにインストールする

    前提条件としてはpipを使わないことを前提としています。condaとpipの混合はどう考えても安全性に乏しいので可能な限りcondaだけでいく前提です。 仮想環境の作成 conda create -n prophet_env python=3.7 仮想環境の利用開始 conda activate prophet_env libpythonとm2w64-toolchainパッケージのインストール conda install libpython conda install -c msys2 m2w64-toolchain パッケージのインストール conda install numpy cython matplotlib pandas conda install -c conda-forge fbprophet pystanのテスト import pystan model_code = 'parameters {real y;} model {y ~ normal(0,1);}' model = pystan.StanModel(model_code=model_code) y = model.sampling(n_jobs=1).extract()['y'] print(y.mean())

  • Windowsでdotfilesの世界をパクリんぐする

    アドベントカレンダーに参加しています。 dotfiles Advent Calendar 2019 Windowsでdotfilesの世界をパクリんぐする話をします。 Windowsにおける設定情報 Windowsにおいては昨今、設定情報はかなり混沌と設定している、今となってはレガシー化しつつある、レジストリ情報に加えて、*NIX風のdotfilesをUser Profileの直下に置くパターンなどいくつものパターンがある。一旦、整理してから話を進めたい。 レジストリ情報 dotfilesの方向性としては異なるが整理のため、触れることにする。レジストリ情報はHKEY_LOCAL_MACHINEなど各種の階層で格納されているが一般にユーザごとの情報はHKEY_USERSの下にあり、実際にはそれがHKEY_CURRENT_USERにリンクされているものと考えられる。ただ、これは知っての通りバイナリデータとしてユーザにはコントロールしにくい形で存在していること、また、dotfilesの形とは言い難いため議論はここまでとする。 User Profilesの下に置かれるdotfiles User ProfileはデフォルトのインストールではUsers\<ユーザ名>に置かれるファイル群である。この中にはHKEY_USERSに置かれているレジストリも含まれている。昨今では特に*NIXからポーティングされたツールを中心にここに.で始まるファイルや_などで始まるファイル群を展開するものが散見される。例えば、scoopでvimをインストールした場合、_vimrcはUser Profileの直下に格納される。 User ProfileのAppData以下 User Profileには一般にAppDataとDocumentsが格納されている。標準的なデザインとしてはユーザにその存在を認識させるファイルはDocumentsにその存在を認識させなくてもいいファイルをAppDataに格納し、さらにAppDataの中で移動プロファイルでローミングするファイルはRoamingにマシン固有のファイルはLocalに置かれることになっている。例えば、ConsoleZの設定情報はAppData内のRoamingにConsole\console.xmlという形で格納されている。また、Visual Studio Codeの設定情報はRoamingのcode以

  • Anti PPAP by Mailvelope

    PPAPという病の蔓延 以前から、問題にはなってきていたが日本におけるPPAPの蔓延は非常に嘆かわしいものがある。PPAPとは Password付きZIP暗号化ファイルを送ります Passwordを送ります 暗号化 Protocolの頭文字である。 命名者はJIPDECの大泰司章氏とされる。PPAPは言うまでもな無意味である。なぜならば、同じ伝送路上で機密情報とパスワードをやり取りしているため危険性は変わらないためである。 PPAPの解決 OpenPGP/GPG いっそ何もしない クラウドストレージの活用 ビジネスチャット 本稿では一番、まともな解決手段である、OpenPGP/GPGを行う方法を解説する。 Mailvelope MailvelopeはChrome上のOpenPGPを実装した機能拡張である。今回はこれをMicrosoft Edge Insider Previewで実行している。 基本的な手続きとしては以下のようになるであろう。 鍵の確認 Mailvelopeのインストール 鍵の作成/インポート 鍵の確認 OpenPGP/GPGの仕組み自体はそれなりに分量があるため、ここでは触れない。OpenPGPについては 公式サイト などを活用されたい。 ともあれ、運用上はまず鍵を新たに作成するか、既存の鍵をインポートするかで分かれると思われる。 Mailvelopeのインストール MailvelopeはGoogle Chrome, Mozilla Firefoxではマーケットプレイス上に存在する。 Mozilla Firefox Google Chrome Microsoft Edge Insiderでは、マーケットプレイス上には確認できないため、Google Chromeのマーケットプレイスからインストールすることが出来た。 鍵の作成/インポート ブラウザ上に拡張機能がインストールされると、Mailvelopeの設定が可能になる。鍵がない状態では鍵を生成と鍵のインポートが出来る。

  • dotfilesの世界をパクってみた

    はじめに ようこそdotfilesの世界へを参考に、Windows上での環境整備を始めてみた。ツールとしては、gitとCMD Batch、robocopyを使用。ディレクトリ構造としてはいったんこのような構造で。 Backgrounds Icons Scripts dot WindowsTerminal ConsoleZ BackgroundsはWindowsTerminalの壁紙を格納、%USERPROFILE%のPictures\Backgroundsに展開。IconsはWindowsTerminalのアイコンを格納、%USERPROFILE%のPictures\Iconsに展開する。Scriptsは環境の展開用のCMD Batchを格納している。dotには%USERPROFILE%以下に展開される、ドットファイルを格納。ConsoleZとWindowsTerminalはそれぞれ、ConsoleZとWindows Terminalの設定ファイルを格納してる。 現在の、deploy.batはこのような内容。 copy ..\WindowsTerminal\profiles.json %USERPROFILE%\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\profiles.json copy ..\ConsoleZ\console.xml %USERPROFILE%\AppData\Roaming\Console\console.xml copy ..\dot\.nyagos %USERPROFILE%\.nyagos robocopy ..\Backgrounds %USERPROFILE%\Pictures\Backgrounds /e robocopy ..\Icons %USERPROFILE%\Pictures\Icons /e

  • Watson APIのテキスト分析をPowerShellから叩く

    PowerShellからWatsonのテキスト分析を叩いてみた。 $account = @{ “username” = **** “password” = **** } $spass = ConvertTo-SecureString $account.password -AsPlainText -Force $user = $account.username $cred = New-Object System.Management.Automation.PSCredential $user, $spass $endPoint = “https://gateway.watsonplatform.net/natural-language-understanding/api/v1/analyze?version=2018-03-16” $text = “ColorfulのSSDめっちゃヤバいwww Galaxy S6や廃棄品のSSDから剥がしたフラッシュやIntelの偽物が搭載されているのが確認されてるらしいwww 安価なNVMe CN600もリマークチップを使ってるとのこと、、、 最近めっちゃ秋葉原で売ってるけど買わない方が良さそうだな、、、” $targets = @(“stocks”, “stocks”) $obj = @{ text = $text features = @{ sentiment = @{ } categories = @{ } } } $json = ConvertTo-Json $obj $result = Invoke-RestMethod $endPoint -Credential $cred -Body $json -Method Post -ContentType “application/json; charset=utf-8” $sentiment = $result.sentiment.document.score $category = $result.categories[0]

  • Cognitive Servicesのテキスト分析にPowerShellから投げてみる

    PowerShellからCognitive Servicesのネガポジ分析をたたいてみました。 $apiKey = “************************” $texts = @(“ColorfulのSSDめっちゃヤバいwww Galaxy S6や廃棄品のSSDから剥がしたフラッシュやIntelの偽物が搭載されているのが確認されてるらしいwww 安価なNVMe CN600もリマークチップを使ってるとのこと、、、 最近めっちゃ秋葉原で売ってるけど買わない方が良さそうだな、、、”) $headers = @{ ‘Ocp-Apim-Subscription-Key’ = $apiKey } $endPoint = “https://eastasia.api.cognitive.microsoft.com/text/analytics/v2.0/sentiment” $texts ForEach-Object { $text = $_ $obj = @{ documents = @(@{ language = “ja” id = “1” text = $text }) } $json = ConvertTo-Json $obj $result = Invoke-RestMethod -Uri $endPoint -Headers $headers -Body $json -ContentType ‘application/json; charset=utf-8’ -Method Post $items = $result.documents $item = $items[0] $item.score }

  • monoでASP.NET APIがMissing Methodを吐く

    単純に言っちゃうとHttpRequestBaseにGetBufferedInputStreamがない。 Mono 4.3.x系を入れると問題が解決するようだがMono 4.2.xでどうやって対応するか。 今回はPostハンドラをクイックハックした。 #if MONO public string Post() { var buffer = HttpContext.Current.Request.BinaryRead(HttpContext.Current.Request.ContentLength); var jsonStr = System.Text.Encoding.ASCII.GetString(buffer); T parsed = JsonConvert.DeserializeObject<T>(jsonStr); #else public string Post([FromBody]T parsed) { #endif

arrow_drop_down

ブログリーダー」を活用して、G.O.R.Nさんをフォローしませんか?

ハンドル名
G.O.R.Nさん
ブログタイトル
Grayrecord Technow
フォロー
Grayrecord Technow

にほんブログ村 カテゴリー一覧

商用