Braveブラウザにクリエイター登録してブログを収益化【WordPress】

Braveブラウザは、広告ブロック機能を標準で有する次世代ブラウザで、ブロックした広告の代わりに別の広告を挿入し、その収益がウェブサイト制作者と閲覧者にも分配される特徴があります。

ウェブサイト制作者は、Braveブラウザの Rewardにクリエイター登録することで収益が得られるようになります。BraveはGoogle広告と対峙するようなブラウザを開発しており、Googleアドセンスと併用する収益化方法をして面白そうと思ったので今回登録してみました。

Braveブラウザとは

Braveブラウザとは、Brave Softwareによって開発されている「プライバシーを重視した高速かつ安全な次世代ブラウザ」です。

Braveは情報を収集する広告やトラッカー(個人を特定しようとするプログラム)ブロックした上で、安全にブラウジングできるようにします。無駄な広告を排除することで、ページの読み込みが早くなったり、モバイル機器であれば電池の消費を抑えたりできることを売りにしています。

近年問題になっている、広告によるユーザー(閲覧者)の閲覧履歴や個人情報の収集などなどに対応した新しいタイプのブラウザといえます。

Braveブラウザによる報酬の仕組み

Braveブラウザの特徴的な点は、広告閲覧による報酬がユーザー(閲覧者)とウェブサイト側(クリエイター)で分配できる機能です。

Braveブラウザでは、ブロックされた広告に代わり、プライバシーを重視した独自の広告が表示されることがあります。ユーザーが「Brave Rewards」をオンにした場合を、ブラウジングするだけでポイントを獲得します。

ユーザーはこのポイント「投げ銭」的に使うことで、お気に入りのウェブクリエイターを応援することができます。今後はポイントを使ってプレミアムコンテンツ、ギフトカードが得られるようになるようですね。

「投げ銭」を得られずとも、ページ内でBrave広告を配信し、広告を見てくれた閲覧者と報酬を分け合うことも可能です。

Brave Rewardでブログを収益化する方法

➀Braveへのクリエイター登録

Braveブラウザ公式のページ下部にある「クリエイター登録」から登録します。

「チャネルを追加」→「ウェブサイト」をクリックして、「Webサイトドメイン」にURLを入力します。
(「ページ内でBraveの広告を配信することを許可する」にチェックするとサイト内でBrave広告が表示されるようになります)

②WordPressの設定

  1. Brave用のWordpressプラグインをインストール
  2. WordPressの「設定」→「Brave Payments Verification」に検証コードを貼り付ける
  3. 「認証」を押すと、ブログの登録が完了します。

その他の設定

報酬で得られるのは仮想通貨「Basic Attention Token (BAT)」です。受け取りは各種仮想通貨ウォレットのほか、Paypalへ登録すれば、口座へ入金してもらえるようです。

Pycharm再インストール時のエラー

状況

Pycharmをアンインストール → 再度インストールした時に以下のエラーメッセージが出て起動できなくなりました。

PermissionError: [Errno 13] Permission denied: ‘C:\Program Files\JetBrains\PyCharm 2020.1.2\plugins\python\helpers\pydev\pydevconsole.html’

Internal error. please refer to http://jb.gg/ide/critical-startup-errors java.lang.verifyerror: expecting a stack map frame exception details: location: com/intellij/openapi/util/text/stringutil.pluralize(ljava/lang/string;i)ljava/lang/string; @28: athrow reason: expected stackmap frame at this location.

原因は、サードパーティ製のPycharm日本語化プラグイン「pleiades-win」が本体のアンインストールでは削除されずにフォルダ内に残っていたことです。

対処法

  • Pycharmのアンインストール時には「キャッシュとプラグインの削除」にもチェックをつける。(公式のプラグインならこれだけでOK)
  • サードパーティ製のプラグインの場合は上記では削除されないので、手動で該当フォルダを削除する

ちなみにpleiades-winは以下のフォルダに入ってました。設定によって保存先のフォルダは異なるかもしれませんので、忘れてしまった場合はプラグイン名やJetBrainsで検索をかけてみましょう。

・C:\Users\ユーザー名\AppData\Local\JetBrains
・C:\Users\ユーザー名\AppData\Roaming\JetBrains

PyCharm+pipenvでPython開発環境の構築【Windows10】

データ解析、機械学習、ディープラーニング内で収まればAnaconda環境で十分でしたが、スクレイピングやAPI利用などもやってみたくなりました。そうなるとcondaではフォローしていないパッケージのインストールも増えてきたため、思い切ってAnacondaを卒業して、純粋なPython(”VanillaPythonと呼ぶらしい)で環境を再構築することにします。ここでは、その手順を残しておきます。

Windows10でPyCharm+pipenvのPython環境の構築する方法

まずAnaconda等が入っている場合は、素のPythonをインストールする前に削除しておきます。

Cコンパイラのインストール

Pythonの拡張モジュールをインストールする際に、Cコンパイラが必要となる場合があります。WindowsではCコンパイラが添付されていないため、必要に応じて別途インストールします。

python japan:Cコンパイラのインストール

VanillaPythonのインストール

① 以下から、OSにあったpythonインストーラーをインストールしてくる。

https://www.python.org/downloads/

Windows10 64bit向けのPython 3.7.7 (リリースMarch 10, 2020)のWeb経由のインストーラーはこちら→Windows x86-64 web-based installer

② ダウンロードしたら起動し、「install launcher for all users」と「Add Python x.x to Path」にチェックして「Install Now」を選択。

pipenvのインストール

① コマンドプロンプトを開き、py -m pip install pipenvと入力

※「Could not build wheels since package wheel is not installed」というエラーが出る場合は、py -m pip install wheelでwheelをインストールする。

PyCharmのインストール

PyCharm+pipenvを使えるようにする設定

PyCharmのプロジェクトとしてpipenv環境を作成する

  1. PyCharmを開く → 新規プラジェクトの作成。
  2. プロジェクト・インタープリター:「Pipenv」を選択。
  3. ベースインタープリターにインストールした素のPythonを指定。
    自分の場合は「C:\Users\ユーザー名\AppData\Local\Programs\Python\Python37\python.exe」
  4. Pipenv executableにインストールしたpipenvのpathを指定
    たいていPython下のフォルダにある。自分の場合は「C:\Users\ユーザー名\AppData\Local\Programs\Python\Python37\Script\pipenv.exe」
  5. 作成をクリック

作成したpipenv仮想環境へのパッケージのインストールは、プロジェクト内の「ターミナル」(デフォルトで下の方のタブにある)からpip installで行えます。

【GitHub:Gist】ブログに表示させるサイズを調整する方法

Gistとは

GistはGitHubのサービスの一つで、これを利用するとソースコード1ファイル単位(複数もOK)でGit管理し、公開することができます。

https://qiita.com/hkusu/items/18cbe582abb9d3172019

ソースコードをブログに貼り付けたりする場面でも活躍しますが、サイズは固定されています。デフォルトでは表示枠が小さいため、拡大したいと思います。

サイズの調整方法

CSSで以下のように入力することで調整できます。

/*gist表示サイズ変更*/
.gist iframe.render-viewer {
	height: 700px !important;
	width: 1000px !important;
}

縦長に調整しました。

難点はブログ中のすべてのGistに適応されてしまうため、コードが少ししかない場合は余白が余ってしまうことです。その場合は、大・中・小などの追加CSSクラスを設定することで解決しても良いかもしれません。

【速習】Pytorch入門②:MLP回帰を実装してPyTorchの基礎を学ぶ

前回はPyTorchのベースとなるtorchの扱い方をおさらいできました。

今回は、PyTorchで多層パーセプトロン(Multilayer perceptron:MLP)回帰を実装するとともに、主要なPyTorchパッケージを確認したいと思います。

全体の流れ

モデル実装の全体的な流れは下のようになります。()内はその際に使用するPyTorchパッケージです。

  • 入力データセットの作成、反復処理(Dataset, Dataloader)
  • ニューラルネットワークの定義(nn.Module)
  • 損失の計算、勾配をネットワークのパラメーターに伝播(nn.Module)
  • ネットワークの重みを更新(Optimaizer)

主要なPyTorchパッケージ

PyTorchに関わらず、多くのディープラーニングフレームワークでは実装を簡易化するために様々なパッケージを提供しています。PyTorchでは主に以下のものがあります。

torch.tensor多次元配列。PyTorchで使うデータ構造。
torch.autograd順伝播・逆伝播を実装する。逆伝播(backward())などでのTensorに対する自動微分操作をサポートする。
torch.utils.data入力するデータとそのラベルをセットにしてまとめる「Dataset」やDatasetからミニバッチでデータを取り出しモデルへ渡す「Dataloader」などのユーティリティを含む。
torch.nn.Moduleニューラルネットワークの構築に用いる。モデルの保存や読み込み、GPUへの移動など、パラメーターのカプセル化を担う。
torch.optimSDGやAdamなどのパラメータ最適化アルゴリズムを使えるようにする。
主要なPyTorchパッケージ

モデルの実装

データセットの作成

今回は、練習用データとして sin(5x) に乱数を加えたものをnumpyで用意します。from_numpy()でtorch.tensorに変換します。

モデルの定義

pytorchでは、nn.Moduleクラスを継承した「pythonのclass」としてモデルを定義します。

class MLP(nn.Module): 定義するMLPというclassは、親クラスnn.Moduleを継承
def init(): 引数を受け取ってインスタンス化する
super(MLP, self).init(): super関数で親クラスを継承する
def forward(self, x): インスタンス化した後、その関数が呼び出されたときに動作する。forward関数を定義するとbackward 関数(勾配計算)も自動的に定義される

.parameters()でnetworkの構造やパラメータを取得できます。

損失の計算・逆伝播・重みの更新

個々の動作を理解するために、xからデータを1つ取り出してニューラルネットワークに入力し、誤差の計算や重みの更新によるパラメータの変化をみてみます。

学習ループを回してみる

上記の流れをバッチごとに行い、ニューラルネットワークを学習させます。
Datasetはデータとそれに対応するラベルを1組返し、DataLoaderはデータをバッチサイズにまとめて返すクラスです。

計算グラフの可視化

今回作成した3層のMLPの構造はtorchvizというpythonのパッケージを使うことで可視化できます。parameters()だけでは物足りない時にどうぞ。

以上、MLP回帰の実装を通して、PyTorchとその主要なPyTorchパッケージを確認しました。

【速習】Pytorch入門①:torchを扱ってみる

PyTorchとは

PyTorchとは、Facebookが開発したディープラーニングフレームワークです。TensorFlowやkerasに比べると利用者人口は少ないですが、柔軟なネットワーク構築が可能なDefine by run形式を特徴とし、今急速に成長しています。もともとはChainerのforkでしたが、先行して欧米圏の研究者に広く普及したことから、現在はPFN側がChainerを中止し、PyTorchの開発に協力・合流する形となったようです。

PyTorchは以下の2つと特徴としています。

・GPUによる高速化が可能なNumPyに相当する「torch」
・柔軟性で高速なDefineByRun型の深層学習プラットフォーム

PyTorchのインストール方法はこちらの公式ページから:https://pytorch.org/
詳細などは多くの日本語記事にて取り上げられています(参考:PyTorch 入門!人気急上昇中のPyTorchで知っておくべき6つの基礎知識

Torchの使い方

Pytorchでは、numpy型のデータを入力しても計算はできず、torch.tensorというデータ型を使って演算を行います。そのためデータはtorch.tensor型で作成・変換する必要があります。これは、ほぼnumpyのようなものですが、NvidiaのGPUで高速な演算が可能です。

また、torchモジュール内には多次元テンソル(高次の行列みたいなもの)のデータ構造が含まれており、テンソルの計算や型変換などを効率的に行うことができます。

In [2]:
・ .size()でtensorサイズを確認できる
・ リストのスライスで行列の要素を取り出すことができ、numpy配列と同様に扱える。
In [3]: 加減剰余や微分など基本的な演算が実行可能
In [4]: .view()で配列の形状を変更
In [5]: numpyと相互変換できる
In [6]: GPU上で計算させるには、.to(device)で渡す