サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは本日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。
確率伝播法とは 確率伝播法とは信念伝播法(Belief Propagation)ともよばれ,ベイジアンネットワークやマルコフ確率場(MRF)などのグラフィカルモデル上で各ノードが持つ状態の周辺分布を効率的に求めるためのアルゴリズムです.元々はこの周辺分布を求めようとするとノード数がNで状態数がKとすると,計算量が$O(K^N)$となり,ノード数が多くなると有限時間で計算が出来なくなります.でもこの確率伝播法を使うと$O(NK^2)$となり有限時間で計算できるようになります.この周辺分布が求められると何が便利かというと,グラフの構造によっては各ノードの最適な状態が周辺分布を使って求められたり,最適解でなくともそれに近い解を求められることです.今回はPythonでこの確率伝播法を組んでみたので順を追ってそのコードの解説を行っていきたいと思います. プログラム解説 使用データ 今回はノイズのかか
Unit testing is a valuable tool that a lot of studios fail to implement. Unit testing can save a great amount of time and energy (and therefore money) by allowing developers, tool writers, and even content creators to catch broken deliverables before passing them downstream in the pipeline. The lack of unit testing with TD’s is most likely due to one of the following: The person doesn’t know what
変数は値が代入されると同時に作成される 作成後に代入が行われた場合、すでに代入されていた値が新しいものに入れ替わる この場合、変数はすでに作成済みのため、新たに作成されているわけではない 型情報 変数自身は型情報を持たない 型情報を持つのは変数に対応する「オブジェクト」 変数は対応しているオブジェクト(その時点で代入されているデータ)へのリファレンスだけを持つ プログラム実行時の変数の扱い 対応するオブジェクトにすべて置換えられる 対応するオブジェクトがない変数は使用できない 変数とオブジェクトはメモリの別の部分に格納されリンクされる ガーベージコレクション 変数に新たなオブジェクトが代入された場合、それまで代入されていたオブジェクトは破棄され、そのオブジェクトが占めていたメモリ領域は開放される、このことをガーベージコレクションと呼ぶ 共有リファレンス
import cv2 # 画像ファイルの読み込み img = cv2.imread('img.jpg') # ORB (Oriented FAST and Rotated BRIEF) detector = cv2.ORB_create() # 特徴検出 keypoints = detector.detect(img) # 画像への特徴点の書き込み out = cv2.drawKeypoints(img, keypoints, None) # 表示 cv2.imshow("keypoints", out) 実行結果 ORBで特徴点を抽出し、特徴点を画像に重ね合わせると以下のようになりました。 人間の目では、手前の道路に立っている人が特徴点なのかと思ってしまいますが、コンピュータの目では、道路に立っている人はそれほど特徴的とは思っていないようでした。 ORB AKAZEで特徴点を抽出し、特徴
ECサイト向けのレコメンデーション・エンジンを構築すると仮定しましょう。 構築する方法としては、コンテンツベースか協調フィルタリングを使用する2つの進め方があります。それぞれのメリットとデメリットを見てみましょう。そして、コンテンツベースエンジンを 簡単に実装する方法 について探りましょう(Herokuにデプロイ可能です)。 コンテンツベースを使用するとどのようになるのか先に知りたい方は、ほぼ同じレコメンデーション・エンジンが Groveの商品(紹介)ページで使用 されていますので、見てみてください。 コンテンツベースのレコメンデーション・システムはどのように機能するのか 商品説明や商品名、価格などの実際のアイテムプロパティなどが使用されるため、コンテンツベースシステムで構築されていると周りには思われているのではないでしょうか。これまで一度もレコメンデーション・システムの使用を検討したこと
# ordersreport.py from collections import namedtuple Order = namedtuple("Order", "amount placed_at") class OrdersReport: def __init__(self, orders, start_date, end_date): self.orders = orders self.start_date = start_date self.end_date = end_date def total_sales_within_date_range(self): orders_within_range = [] for order in self.orders: if self.start_date <= order.placed_at <= self.end_date: orders
あたらしく自前のBlog https://aish.dev をつくりましたので、こちらはもう更新しないつもりです。 https://aish.dev は、自作のMiyadaiku というSSGを使い、Github actionを使ってGithub pagesで公開しています。 編集環境としては専用のJupyterLab環境を用意して、テキストを編集して保存すると自動的に確認用のページがビルドされ、編集が終わったらgit commit して git push すると公開される、というプログラマにはとてもフレンドリな環境になっています。giはJupyterLabの拡張モジュールから操作できますし、ブラウザ上のターミナルからも扱えます。 リモート環境ながらレスポンスは良好だし、Jupyter NotebookでBlogを書けるのがほんとに便利です。「fotolife記法」なんかの独自記法に悩まさ
現在Flaskを用いてwebサービス的なものを作っているのですが、サーバーサイドからクライアントサイドに値を渡した後にJinja2の記法で詰まるときがよくあるのでメモしておきます。 概要 Flaskの使い方をちゃちゃっと紹介(インストール済みならばコピペで動作) Flaskの日本語版ユーザーガイドはあるけど、Jinja2のガイドは英語なのが厄介 Jinja2の構文を数種類紹介 基本的な構文を組み合わせた使用例を紹介 Jinja2を活用してクライアントサイドの記述をスマートにできる Flaskとは Python用のマイクロWeb開発フレームワークです。 RubyでいうところのSinatraといっても問題ないと思います。 Flaskのインストールや使い方は他にも色々記事があると思うのでここでは割愛します。 Flaskユーザーガイドのように日本語化されたガイドがあるのも嬉しいです。 Flaskは
Turn what you know into an opportunity and reach millions around the world.
Qt Designer を使ってポトペタでウィンドウを作成しました。 そのときに調べたことをメモとして残します。 ツールバーの設定の仕方 ツールバーはウィンドウ上のコンテキストメニューの [ツールバーの追加] で追加できます。 最初はそこにツールボタンをドラッグ&ドロップで配置するのかと思ったのですが違っていました。 ツールバーにボタンを配置するために、そのボタンに対応したアクションを作ります。 そのアクションをツールバーにドラッグ&ドロップすることでボタンを配置できます。 アクションはアクションエディタの [新規] ボタンを押すことで作成できます。 ボタンに画像を表示する場合は、アイコンにリソースの画像を設定します。 ボタンに画像を設定する場合は、リソースとして画像を登録し、それを設定します。 ツールバーのボタンのイベント処理 ツールバーのボタンが押されたときのイベント処理を PySid
はじめに 以前、Python3.5の新機能という記事を書いたが、3.6もα版が出て来たので、3.6の機能を先取りして確認してみようと思う。 開発ロードマップ(PEP-494)によると 3.6.0 alpha 1: 2016-05-17 (完了) 3.6.0 alpha 2: 2016-06-13 (完了) 3.6.0 alpha 3: 2016-07-11 (完了) 3.6.0 alpha 4: 2016-08-15 (完了) 3.6.0 beta 1: 2016-09-12 (完了・新機能追加はここまで) 3.6.0 beta 2: 2016-10-03 3.6.0 beta 3: 2016-10-31 3.6.0 beta 4: 2016-11-21 3.6.0 candidate 1: 2016-12-05 3.6.0 candidate 2: 2016-12-12 (必要であれば)
(訳注:2016/7/15、記事を修正いたしました。) 本記事では、世界50カ国におけるソフトウェアエンジニアの年収の中央値と国内の年収の平均値(1人当たりのGDP)を比較します。その方法は、まず lxml を使ってWebページからデータを収集し、 Pandas のデータフレームに変換した後、クリーニングを行います。そのデータに対し matplotlib を使い、全体としての傾向を可視化する散布図と棒グラフを作成するというものです。一般的な人々と比較するとソフトウェアエンジニアはどのくらい稼いでいるのか、その収入が高い国と低い国を比較してみましょう。 データは PayScale と 国際通貨基金(IMF) から得たもので、2014年5月に Bloomberg に掲載されたものです。そこに、PayScaleが最も入手しやすい50カ国の統計データが含まれていました。ソフトウェアエンジニアに関す
【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion Models
pyblish とは 公式サイト: http://pyblish.com/ 動作ムービ: https://www.youtube.com/watch?v=j5uUTW702-U 動作ムービ: https://www.youtube.com/watch?v=-MKujcU88W8 説明: https://github.com/pyblish/pyblish/wiki/What-is-publishing 開発ガイド: https://pyblish.gitbooks.io/developer-guide/content/ Abstract Factory社 の開発する、映像・ゲーム制作向けの パイプライン構築支援フレームワーク 。単体でも、DCCにも組み込みでも動く。Shotgun / FTrack / 5th Kind / Tactic などとは 違い 大規模な管理を狙うものではない。名前
皆様、はじめまして!DMM.com Labo システム本部 事業サービス開発部の久野です。この度、社内の勉強会のLTで話した内容をまとめてみました! 内容はWebGLというJavaScriptのAPIを使って、ブラウザ上で3Dモデルをアニメーション付きで描画するために何を行ったのか、です。 ▼実際に動作するデモです。 テクスチャを大量に読み込まなければならないので表示まで時間がかかるかもしれません。 ▲ブラウザによっては動作しない可能性がありますがデモプログラムなので悪しからず。 WebGLとはなんぞや? WebGLとはKronos Groupが管理するOpenGL ES 2.0をブラウザ上のJavaScriptから扱えるようにしたAPIです。GPU(グラフィックカードまたはグラフィックボード)の機能を駆使して高度な3D描画を高速に行うことが出来、昨今のPC、スマートフォン等の主要なブラウ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く