- 1. No module named ‘apiclient’への対処
- 2. ABC 096 C – Grid Repainting 2 の嘘解法
- 3. DockerFileを利用した「Hello World」のブラウザへの出力方法
- 4. GHPythonRemoteの環境構築
- 5. ABC257Python自己満解説
- 6. ゆめみさんのサーバーサイドコーディング試験の模擬問題のアドバイスを、中の人からいただいたので解説
- 7. 【Matplotlib】折れ線グラフを描画する方法 | matplotlib.pyplot
- 8. 【強化学習】KaggleのConnectXへの投稿方法を解説(スコア900越えコード付き)
- 9. 画像内個人情報を黒消ししてみた(名前編)
- 10. 【セグメンテーション】ラベルデータをインデックスカラーのpngファイルとして保存・読込みする
- 11. 【強化学習】Agent57について補足と比較
- 12. PyTorchでTensorコアを使用してCNNモデルをトレーニングするための比較
- 13. 熱伝導方程式:陽解法 vs. 陰解法
- 14. Hit&Blowを完全解析して必要最小手数を求めてみた
- 15. pythonで書いたlambdaのreturnはjson.dumps()されている
- 16. 【機械学習】MNISTデータをCNNで分類【画像分類】
- 17. 【機械学習】Cifar10の画像をCNNで分類【画像分析】
- 18. 【OpenCVの辞書】OpenCV Tutorialから学ぶOpenCVの全ての処理
- 19. MediaPipeを使ってRCカーのコントロール(ジェスチャーインターフェース)
- 20. Python Pandasのピボットテーブル関数を使ってクロス集計してみる
No module named ‘apiclient’への対処
## はじめに
googleのYouTube Data API v3を使っていく中で,No module named ‘apiclient’というエラーを吐かれたので,メモしておきます.## 環境
エディター:VScodeの拡張機能を用いたJupyter
python:3.7.2
Youtube Data API(v3)を使うためにインストールしたもの
$ $pip install –upgrade google-api-python-client## コード
~~~python
from apiclient.discovery import build
~~~## エラー
~~~
ModuleNotFoundError: No module named ‘apiclient’
~~~## 解決法
Anaconda3上で実行したら動作しました.
ABC 096 C – Grid Repainting 2 の嘘解法
問題のリンク:[ABC 096 C – Grid Repainting 2](https://atcoder.jp/contests/abc096/tasks/abc096_c)
[けんちょんさんの記事](https://qiita.com/drken/items/fd4e5e3630d0f5859067#%E3%81%93%E3%81%93%E3%81%BE%E3%81%A7%E8%A7%A3%E3%81%84%E3%81%9F%E3%82%89) にある、グリッドに関する処理の例題の1つです。
気づいている人もいるとは思いますが、見かけなかったので。## 公式解説のソースコード
(自分が)見やすいように少しだけ変えています。
“`c++
#include
using namespace std;int H, W, cnt;
// 0から51までの配列
char c[51][51];int main() {
cin >> H >> W;
for (int i=1; i<=H; i++) { for (int j=1; j<=W; j
DockerFileを利用した「Hello World」のブラウザへの出力方法
# やりたい事
ブラウザ(ホスト側)からのHTTPリクエストにより、Docker(コンテナ)上のアプリからのレスポンス「Hello World」をブラウザ(ホスト側)に出力したい■前提
・DockerFileを利用すること
・WebサーバにはPythonのFlaskを利用■補足
勝手に思っていることですが「ホスト」と「コンテナ」は
別世界と捉えると色々理解しやすくなります
※違うかもしれませんが、現実世界とメタバース、みたいな関係?その別世界に対する「環境構築」までの手順は基本、ターミナルからのCUIベース。
アプリの実行はブラウザ経由です。# 知りたい事
大きくは下記の点です・DockerFileとアプリケーションファイルの関連性
・Dockerを利用したブラウザ経由の通信の仕組み# ステップ1:アプリケーションファイルを作る
まずは、Docker関係なく、ローカル(ホスト側)で「Hello World」が出力されるAPファイル(hello.py)を用意“`python:hello.py
from flas
GHPythonRemoteの環境構築
Qiitaでの投稿はこれが初めてなので不手際や不適切な箇所がありましたらご指導ご鞭撻のほどよろしくお願いいたします。
# GHPythonRemoteでの環境構築
前提
・Rhino7をインストールする手順
1.pythonをインストールする
2.GHPythonRemoteをインストールする
3.exampleを必要に応じて編集する## 1.pythonをインストールする
rhinoのpythonは3系に対応するとはいっているものの、
現状ほぼ2系(IronPython)対応なので、
Pythonは2系でインストールまたはバージョンを変更する。下記を参照
[gh-python-remote 1.4.4](https://pypi.org/project/gh-python-remote/)## 2.GHPythonRemoteをインストールする
[GHPythonRemote](https://www.food4rhino.com/en/app/gh-python-remote)
上記リンクがGHPythonのfood4rhino
リンクより本家のusageがダウ
ABC257Python自己満解説
# ABC257Python自己満解説
あちゃぴです。初めて書いてみます。自己満ですw
とりあえず最初は灰色diffのみ解説していきます。
diffとは[AtCoder Problems](https://kenkoooo.com/atcoder#/table/)のサイトの基準で
diffが400だったらレートが400の人が50%の確率で解くことができるというものです。
なのでdiff<400のものだけを解説します。 問題はこちらです→[ABC257の問題](https://atcoder.jp/contests/abc257/tasks) 解説用にコードを綺麗に(できるだけ)してます。 ペナとはペナルティーの略でACにならなかったことです。 ペナ率とは全ての提出のうちペナになった提出の割合です。 ## A問題 計算でO(1)で求めることもできますが、ペナ率が34.56%らしいのでこういったペナをなくすためには愚直にやるのが大事かもしれないです。 この場合だと愚直に得られる文字列を作成して、X番目なので添字はX-1となりそれを出力すればACです。 ```python:A.py N,X=
ゆめみさんのサーバーサイドコーディング試験の模擬問題のアドバイスを、中の人からいただいたので解説
# 前置き
先日、ゆめみさんの`就活生必修!ゆめみが送る超実践的コーディングレビューワークショップ`というイベントに参加させていただきました。
メンターさんのTwitterDMにて許可をいただきましたので、ワークショップ参加中にいただいたフィードバックを基に作成したコードを解説していきます。:::note warn
以下の点にご留意いただけると幸いです。
– 普段は**Pythonを利用しない人**が書きました
– 本記事を投稿する許可はいただきましたが、記事・コードの品質に関してのレビューは**いただいていません**。
– フィードバックを聞くことに集中しすぎて、アドバイスをメモするのを忘れてしまったので、**断片的な記憶**を基に随筆しています。ですので、もしかしたら虚偽の情報があるかもしれません。
– 本記事に記載されているコードは、私が記述したものであり、ゆめみさんが作成した**模範解答ではありません**。(回答例を参考にはしています。)
:::# 概要
前置きにもある通り、ゆめみさんの`就活生必修!ゆめみが送る超実践的コーディングレビューワークショップ`とい
【Matplotlib】折れ線グラフを描画する方法 | matplotlib.pyplot
## 【はじめに】
Matplotlib はPythonのグラフ描画のためのライブラリです。
Matplotlibを使うことで、グラフの描画やデータの可視化が簡単に行えます。
今回はMatplotlibの基本として、折れ線グラフを描画する方法を紹介します。### 本記事の内容
– Matplotlibをインポート
– 使用するデータを読み込む
– グラフを描くためのデータを作る
– 折れ線グラフの作成
– ラベルの追加
– グラフの色変更
– グラフ線の太さ変更
– マーカーの付与
– グラフ線のスタイル変更
– グラフタイトルの追加
– グラフの大きさ変更
– 複数のグラフを表示
– グラフを画像として保存## 【Matplotlibをインポート】
matplotlibの中のpyplotを読み込みます。
また、Jupyter Notebook内にグラフを出力させるために`%matplotlib inline`を記述します。
“`Python
import matplotlib.pyplot as plt
%matplotlib inline
“`**ポイント
【強化学習】KaggleのConnectXへの投稿方法を解説(スコア900越えコード付き)
この記事は自作した強化学習フレームワークであるSimpleDistributedRLの解説記事です。
概要は[こちら](https://qiita.com/pocokhc/items/a2f1ba993c79fdbd4b4d)です。# はじめに
機械学習を実践で試すなら Kaggle はうってつけです。
強化学習の問題もいくつかあり、投稿方法を紹介したいと思います。
基本は本フレームワークを使用しての投稿ですが、使わない場合も参考になるかと思います。# ConnectX
Kaggleが用意している強化学習のチュートリアルコンペです。
(タイタニックの強化学習版です)サイトはこちら:[ConnectX](https://www.kaggle.com/competitions/connectx/overview)
内容はコネクトフォーという特殊な4マス並べゲームと同じです。(Switchゲームの世界のアソビ大全にもあるやつです)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.co
画像内個人情報を黒消ししてみた(名前編)
## はじめに
画像内の個人情報を黒消ししてみます(Pythonで実装)。
画像内の人名や地名を見つけ、黒塗りするシンプルなものです。※ 画像内個人情報を黒消ししてみた(電話番号編)は[こちら](https://qiita.com/mingchun_zhao/items/3bbcafbd1026380b47eb)
## 黒消し結果から
|処理前の画像|処理後の画像|
|:–:|:–:|
|![input.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523098/914bfe6f-26ea-b0aa-85c5-ec4387f98f6d.png)|![output.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523098/be13c7e5-3138-3e7b-dc59-813cc869bfc2.png)|## 使用したツール
– Tesseract
– さまざまなオペレーティングシステム上
【セグメンテーション】ラベルデータをインデックスカラーのpngファイルとして保存・読込みする
# はじめに
ニューラルネットを用いた機械学習の中でも、セグメンテーションは1ピクセルごとのラベルが必要になることから、ラベルのインプットを工夫しないと学習のボトルネックになることがあります。
整形してあるデータセットであれば良いですが、KaggleなどはCSVファイルでラベルが配布される場合がある為、学習時に都度CSVからラベルを作成してモデルにインプットした場合、学習が非常に遅くなります。
そこで予め全てのラベルをインデックスカラーのpngファイルとして保存しておき、学習時には読込みだけを行う方法を調べたので、備忘録として残します。# 環境
– Google Colaboratory Pro# コード
モジュールのimport
“`python:
import numpy as np
from PIL import Image
import torch
from matplotlib import pyplot as plt
“`初めに与えられたデータからインデックスカラーのNumPy配列を作成します。
以下は例で、背景を0、2番目に大きい四角を1、最も小さい四角
【強化学習】Agent57について補足と比較
この記事は自作した強化学習フレームワークであるSimpleDistributedRLの解説記事です。
概要は[こちら](https://qiita.com/pocokhc/items/a2f1ba993c79fdbd4b4d)です。前手法にあたるR2D2は[こちら](https://qiita.com/pocokhc/items/c456f5b034498ab18ab7)。
Agent57を実装したフレームワークは多分これだけです。(2022/6現在)# NGU/Agent57
記事を書こうとしましたが、[以前書いた記事](https://qiita.com/pocokhc/items/8684c6c96d3d2963e284)と大きく変わらなかったのでメインはそちらをご覧ください。
以前は理解できていおらず、気がかりだった内容を追加で説明します。## UVFA(Universal Value Function Approximators)
・参考
[(DeepMind社のスライド) Universal Value Function Approximators](h
PyTorchでTensorコアを使用してCNNモデルをトレーニングするための比較
# PyTorchでTensorコアを使用してCNNモデルをトレーニングするための比較
:::note info
Github(英語バージョン)
https://github.com/leolui2004/tensorcore
:::これは PyTorch フレームワークで TensorCore を使用して CNN モデルをトレーニングするための簡単な比較です。公式サイトにはサンプルスクリプトがありますが、実際のアプリケーションには多くの違いがあるはずです。
## ハードウェアとソフトウェア
GPU: Tesla T4
Framework: PyTorch 1.11
nvidia Driver: 470.57.02
cuda: 11.4
## パフォーマンス
### テンソルコアを使用しないサンプルコード
“`python
for epoch in range(epochs):
for input, target in zip(data, targets):
output = net(input)
loss = loss_
熱伝導方程式:陽解法 vs. 陰解法
# 始めに
熱伝導の数値シミュレーションを通して,陽解法と陰解法の特性を比較します.併せて,陰解法に登場する幾つかの反復解法を勉強してみます.かなり基礎的な内容ですが,何事も基礎からということでお付き合いください.以下の内容は主に[こちら](https://cattech-lab.com/science-tools/simulation-lecture-3-1/)を参考に,同記事に則した内容となります.
# 数値解法
自然現象はとても難しく,ほとんどの現象に対して解析解[^1]を与えることは叶いません.しかし,コンピュータの力を借りて数値解を逐次求めていくことで,現象をある程度追跡することができます.本稿では,1次元の線形な熱方程式:
“`math
\frac{\partial u}{\partial t} = D \frac{\partial^2 u}{\partial x^2}
“`を対象とした数値計算を実施します.ここでは,$u$が温度を代表する物理量としています($x \in \Omega, t \in [0, T], u: \Omega \times [0
Hit&Blowを完全解析して必要最小手数を求めてみた
# 主旨
Hit&Blowとは、未知の3~4桁の数字を、1質問毎に与えられるヒントを元に予想し当てられるまでの質問数の少なさを競うというゲームである。
この記事ではHit&Blowにおいて、桁数と数字の種類数別に必要最小手数を示し、特に3桁×10種(0~9)、3桁×9種(1~9)、4桁×6種(1~6)それぞれのルールの場合の最小期待手数を調査する。
# ルール説明
個人的にわかりやすかったので、[こちらのサイト](https://www2.denshi.numazu-ct.ac.jp/student/lecture97/d2/info/hit_and_blow/hb.html)の説明文を参考にさせていただきました。
**3桁×10種の場合のHit&Blowのルール**
1. 出題者は、0から9までの互いに異なる数字を使った 3桁の数を正解として用意し、解答者から隠しておく。
2. 解答者は、解を予想し、質問をする。
3. 出題者は、質問と正解の数を比較して、
Hit数(同じ数字が同じ桁に出現する回数)と
Blow数(同じ数字が違う桁に出現する回数)をヒントとして
pythonで書いたlambdaのreturnはjson.dumps()されている
# はじめに
もうタイトルがそのまんま結論なんですけど、
色々読んで試してやっと自分の中で解決したので記事にします。対象読者は
+ 公式ディベロッパーズガイドを読んでもあまりピンと来なかった方
+ lambdaからの返り値に無駄にバックスラッシュついてて困ってる方です。
# 結論
pythonで書いたlambdaのreturnはjson.dumps()されています。
なので一度json.dumps()したものを要素として渡すと
意図しないバックスラッシュがついてきます。公式のディベロッパーズガイドの「値の返し(Returning a value)」のところ読むと書いてあるんですが、
最初は日本語版読んでも意味わかんなくて
英語で読んでやっとあれ?となって
いろいろ試してやっと「そういうことか!」となりました。公式のディベロッパーズガイドはこちら
日本語版:[https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/python-handler.html#python-handler-return](https://docs
【機械学習】MNISTデータをCNNで分類【画像分類】
# KaggleのDigit Recognizer Competitionのデータを借りて画像認識に挑戦。
https://www.kaggle.com/code/ngbolin/mnist-dataset-digit-recognizer/data
## MNISTデータの取得
“`python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns#ファイルの読み込み
dftrain = pd.read_csv(“train.csv”)
dftest = pd.read_csv(“test.csv”)
print(dftrain.head())
dftrain.info()label pixel0 pixel1 pixel2 pixel3 pixel4 pixel5 pixel6 pixel7 pixel8 pixel9 pixel10 … pixel772 pixel773 pixel774 p
【機械学習】Cifar10の画像をCNNで分類【画像分析】
# KerasのCifar10の画像をモデルを作ってで画像分類する
## データのダウンロード
“`python
#cifar10のデータダウンロード
from keras.datasets import cifar10
(X_train, Y_train), (X_test, Y_test) = cifar10.load_data()
“`
### データの確認
“`python
print(X_train[0], Y_train.shape)
print(X_train.shape, Y_train.shape)import matplotlib.pyplot as plt
plt.title(Y_train[0])
plt.imshow(X_train[0])
plt.show()[[[ 59 62 63]
[ 43 46 45]
[ 50 48 43]
…
[158 132 108]
[152 125 102]
[148 124 103]][[ 16 20 20]
[ 0 0 0]
[ 18
【OpenCVの辞書】OpenCV Tutorialから学ぶOpenCVの全ての処理
私がpythonによる画像処理の勉強を始めたので共有しようと思います。
ライブラリはOpenCVというものです。
公式のチュートリアルに
# OpenCVのGUI機能
## 画像を扱う
ここで学ぶ関数は以下の三つ
“`
cv2.imread()
cv2.imshow()
cv2.imwrite()
“`
### 画像を読み込む関数 cv2.imread()
画像ファイルを読み込むにはcv2,imread()という関数を使います。
MediaPipeを使ってRCカーのコントロール(ジェスチャーインターフェース)
MediaPipeとは? Google社が提供するライブストリーミングのためのオープンソースのMLソリューションです。 このMediaPipeを利用すると高性能なAI画像処理アルゴリズムを利用したARアプリケーション等を簡単に作成できます。
# 概要
今回はPythonを用いて、ラジコンカーの操作を行なってみました。Python IDEでは、21点3Dランドマークのデータはnamed tuplesとして返されます。図1 のようにそれぞれの点の座標を抽出するにはnamed tupleから特定した配列データを取り出す必要がります。
Python Pandasのピボットテーブル関数を使ってクロス集計してみる
***今回はPandasのピボットテーブル関数(pivot_table)を日次の製品販売データ(csvファイル)をクロス集計してみます。クロス集計では日付に対して各製品ごとに合計値を出しています。***
:::note info
**流れは、次の通りです。**
– **1. CSVデータを入手**
– **2. PythonでPandasのpivot_table関数を使ってクロス集計。
集計結果はcsv形式で出力する。**
– **3. 実行する**
– **4. 集計結果を確認する**
:::では実際にやっていきます。
## 1. CSVデータの入手
テストとして適当にcsvデータを作成しています。– test.csv
![スクリーンショット 2022-06-25 13.55.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2075298/1c2c7775-8599-4a1b-a563-a033f694df9a.png)## 2. PythonでPandasのpivot_ta