Python関連のことを調べてみた2022年03月30日

Python関連のことを調べてみた2022年03月30日
目次

ImageJ と Cellpose を使って、細胞画像の輝度値を測定する。(1)

# 目的
顕微鏡撮影した細胞画像から、細胞膜領域と細胞質基質領域の範囲を選び、その平均輝度値を求めたい!

使用するアプリケーションは、以下の通りです。
– Fiji (ImageJ)     
-画像解析ソフト
– anaconda       
-Python を動かすところ
– cellpose
-Python で書かれた細胞画像の分節化に特化したアルゴリズム

上記アプリケーション(プラグインを含む)のインストールや、解析に必要なマクロを記録していきます。

### PC の環境
Windows 10

# この記事の範囲
Fiji のインストールと、画像解析に必要なプラグインのインストール方法

# Fiji のインストール

### Fiji のダウンロード
以下のリンクから、Windows 用の ”Download for Windows(64-bit)” をクリックして、ダウンロード。

[Fiji のダウンロードHP](https://fiji.sc/)

### Fiji のインストール
ダウンロードした zip ファイルを展開します。

#####

元記事を表示

pythonで始まる原神祈願データ分析(独学ノート) その①

最近、統計検定2級の受験のために、統計学を勉強し始めました。

ここではpythonで自分の原神祈願データを分析してみます。

ソースとデータは下記のgithub倉庫に公開しています。
https://github.com/Colincon2020/paimon_statistic

### データの準備
先ずは、データ読み込みです。
“`python:paimon_characters_estimation.ipynb
import json
import math
from scipy import stats
from matplotlib import pyplot as plt
import matplotlib

matplotlib.rcParams[‘font.sans-serif’]=[‘MS Gothic’] #日本語表示ためのフォント指定
matplotlib.rcParams[‘axes.unicode_minus’]=False

with open(‘paimon-moe-local-data.json’,’r’) as f:
json_file

元記事を表示

DatabricksにおけるPythonユーザー定義関数(UDF)

[User\-defined functions \- Python \| Databricks on AWS](https://docs.databricks.com/spark/latest/spark-sql/udf-python.html) [2021/3/17時点]の翻訳です。

:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::

# UDFとして関数を登録する

“`py:Python
def squared(s):
return s * s
spark.udf.register(“squaredWithPython”, squared)
“`

オプションとしてUDFの戻り値の型を設定することができます。デフォルトの戻り値は`StringType`となります。

“`py:Python
from pyspark.sql.types import LongType
def squared_typed(s):
return s * s
spark.udf.register(“sq

元記事を表示

ML-Agentsを使って外部で学習してもそのままML-Agentsでは使えないって話

# はじめに
この記事はML-Agentsなどの知識があること前提で書かれています。
ML-Agentsについての解説記事などは、時間がある時に少しずつ投稿して行ければなと考えています。
# 状況
1. ML-Agentsの環境をGymWrapperを使ってPytorchで学習させた
1. できたモデルをonnxファイルでエクスポートした
1. ML-Agentsにモデルを入れたらよく分からんエラー出てきた
1. 困った
# 環境
Unity : 2021.2.13f1
ML-Agents : Release_19
Python : 3.8.12
Pytorch : 1.10.2+cuda
# 原因
結論から言うとML-AgentsではML-Agents以外で生成したonnxファイルを使用することが出来ないようです。
もしかしたらML-Agentsが生成するonnxファイルを真似すれば動くのかもしれませんが、僕のニワカPytorch知識ではすぐに真似はできそうになかったので未検証です。
### ML-Agentsを使った外部学習
ML-Agentsは設定を少し弄ってU

元記事を表示

Google Colaboratoryを使ったRNNの動作確認(2022年3月30日)

# 1. はじめに
 YOLO・CNNといったニューラルネットワークを使った機械学習を勉強中の者です。この手のコモディティ化以前のテクノロジーの学習で障害となるのは、プラットフォームやソフトウェアライブラリ等がどんどんアップデートされているので、ほんのちょっと前に書かれた記事であっても、書かれた通りに動かすことができないという点です(筆者も度々遭遇して難儀しています)。
 つい昨晩、RNNに挑戦したところ、やはり参考にさせて頂いたサイト記事の通りには実行できず、いろいろとネット上を調べまわった結果、何とか動かすことができましたので、自分用の備忘録を兼ねて記録しておきたいと思います。
# 2. 参考にさせて頂いたサイト記事
RNN(回帰的ニューラルネットワーク)とは?Pythonでの実装方法と一緒に見ていこう!
https://toukei-lab.com/rnn
更新日 2021年9月14日
# 3. Google Colabratoryの準備
 参考にさせて頂いたサイト記事ではPythonの動作環境を特定していませんでしたが、本記事を参考にして0からやってみようという方のために、最も

元記事を表示

[Python]リストの要素全てに処理を行いたいメモ

例えば`a=[1,2,3,4,5]`などのリストに対して、中の要素それぞれに1を足したり2を掛けたりする方法についての羅列 & 自分用メモです。

今回は、以下の配列を例に操作を行います。全ての要素を2倍することを考えます。
“`python
a = [1, 2, 3, 4, 5]

# 完成形 -> a = [2, 4, 6, 8, 10]
“`

## 頑張って全部書く

“`python
a[0] *= 2
a[1] *= 2
a[2] *= 2
a[3] *= 2
a[4] *= 2

print(a)
# -> [2, 4, 6, 8, 10]
“`

+ ……

## 上の操作をループで行う

“`python
for i in range(len(a));
a[i] *= 2
“`

+ さっきよりは簡潔。

ちなみに、`for num in a:`で`num *=2`を処理しても、元の配列の要素には反映されないので注意。
別で配列を作ってappendしたりするなら`for num in a:`でも可?

## map関数を利用する

“`

元記事を表示

ラズパイでcronを使う

プログラムの動作確認

1. 多分エディタでコードを書いていると思います。エディタ上で正しく動作するかまずは確認してください。
1. 次にターミナル上で動作するか確認します。hoge.pyを動作させたい場合は、
`python3 /home/pi/Document/hoge.py` と記述します。
**python3を頭に書いて絶対パスで指定**します。

エラーが出た場合は修正してください。もしも権限が付与されていません。と表示された場合は
`chmod 777 /home/pi/Document/hoge.py`と記述しします。読込、書込、実行のフル権限を付与します。

cronの設定をする。

まずはログを見れるようにしましょう。
#cron.* の「#」を消しましょう

~~~Terminal.log
$ sudo nano /etc/rsyslog.conf
_____________________________
###############
#### RULES ####
###############

#
# First some

元記事を表示

ユーザーがアップロードした画像をAWS S3に保存して、ユーザー本人だけアクセスできるようにする

そのようなニーズ、よくありますよね。
やっていきましょう。

:::note warn
本記事で出てくるS3 URLなどは、執筆のために一時的に作っただけなので実際にはアクセスできません。
:::

# S3バケットを作る

とりあえず動きを再現するだけなら、デフォルトで大体OKです。
気を付けるところは↓です。

![s3_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553715/f642646e-efa8-eebb-423d-f23b70370de2.png)

# CloudFrontを作る

## その前に、公開鍵と秘密鍵ファイルを作る

これはopensslコマンドが存在する環境なら何で実施してもよいです。
Mac, Linux, Windows内のWSL上Linuxなど、どこでも。

“`bash
$ openssl genrsa -out private_key.pem
$ openssl rsa -pubout -in private_key.pem -out public_k

元記事を表示

Jupyter NotebookのSnippetを作成してライブラリのimportを楽にする試み(Jupyter @ Dockerでの方法)

日頃からJupyter Notebookを活用しています。GPU搭載マシーン(Linux)上でDockerを実行してJupyter Notebook(Tensor Flow Notebook)のコンテナを立てて利用しています。Notebook利用時にimportするライブラリはいつも似通っており、毎度毎度記載するのが煩雑であり、面倒くさい行程と感じていました。そこで、Notebookのテンプレート(Snippet)を設定して、import文の記載を楽にする試みをやってみることにしました。Jupyterにインターフェースが似ているGoogle Colaboratoryには設定メニューからSnippetの設定が可能ですが、Jupyterには専用のextensionをインストールする必要が有ります。本記事ではJupyter @ Docker環境を対象にしています。筆者が設定時に情報を探しましたが、Jupyter @ Dockerの情報は見つかりませんでした。。。 :scream: 同様の環境構築を考えておられている方のお役に立てれば幸いです。

# Jupyter Nbextensions

元記事を表示

一問一答の問題集を作成する。

使い方
please input questionで「nothing」と入力すると問題集の作成が終わります。
回答時に「finish」と入力すると回答が終わり◯の数、×の数、正解率を表示します。

①実行
“`python:
import random

print(“START”)
questions = {}

while True:
question = input(“please input question”)
if question == “nothing”:
break
answer = input(“please input answer”)
questions[question] = answer
print(questions)

o = 0
x = 0
while True:
g = random.choice(list(questions.items()))
your_answer = input(f'{g[0]}?’)
if your_answer =

元記事を表示

AtCoder ABC245 F – Endless Walk を SCC+トポロジカルソートで解く

https://atcoder.jp/contests/abc245/tasks/abc245_f

# 本記事では:
– 問題文中の`いくらでも移動を繰り返すことができる`頂点を`条件を満たす`と呼びます。
– 以下のアプローチでは最初に与えられた点を強連結成分の頂点に縮約して考えていきますが。最初に与えられた頂点たちのことを`元の頂点`と呼びます。
– 例えば、頂点1,2,3が強連結成分の頂点aに含まれているとき、`元の頂点1`は頂点aに含まれています。
– 特に断りのない`頂点`は強連結成分分解で`縮約後の頂点`を指します

# 補題1: 各強連結成分の頂点と辺をまとめたグラフ
アルゴリズムイントロダクション22.5の図22.9のようなグラフを作ります。この記事中ではGsccと呼びます。
– グラフを強連結成分に分解し、それぞれの内部に含まれる`元の頂点`と辺を1つの頂点として扱います。(縮約)
– ある縮約された異なる2頂点間の`元の頂点`をつなぐ辺があった場合、その縮約された頂点間に辺を張ります 
– この時、各頂点は含まれる`元の頂点`の数を値として持つと

元記事を表示

recsys-pythonを進めていく(第2章)

# 参考文献とか
1. https://recsyslab.github.io/recsys-python/
2. https://techbookfest.org/product/5547509835366400?productVariantID=5739222210183168
3. https://note.nkmk.me

# 前回の記事
https://qiita.com/yaminabeworks/items/538cd15bab614683e9b3

# やったこと
– google colabで参考文献1.の第2章を解いた。
– 以下の場所に.ipynbファイルを置いておいた。暇だったら見ていってほしい。
– https://github.com/yaminabeworks/qiitakiji/blob/main/numpyknock_recsys02.ipynb

# 感想

– `ndarray`の形を扱う部分やブロードキャスト周りの理解が浅いことに気づいてしまった。
– 多分参考文献2.あたりをすらすらとこなせるようになるといいんじゃないのかなという思い。

元記事を表示

pandasのリストをコピーする

## データの用意
“`
df = pd.DataFrame([[None for j in range(2)] for i in range(3)], columns=[‘before’, ‘after’])
df[‘before’] = df[‘before’].apply(lambda x:[0,0])
“`
| before | after |
|:——-:|:——–:|
| [0, 0] | None |
| [0, 0] | None |
| [0, 0] | None |

上記のようなテーブルがあったときに、beforeをafterへコピーしたいと思います。

## 完成予想図

| before | after |
|:——-:|:——–:|
| [0, 0] | [0, 0] |
| [0, 0] | [0, 0] |
| [0, 0] | [0, 0] |

## OKな例

“`
import copy
df[“after”]

元記事を表示

python 仮想環境でファイルを実行する

## はじめに
このページはpython初心者が勉強したことを書き記す忘備録的な意味合いで作成しています。
Qiitaへの投稿も初ですので、何かあればこっそりご指摘いただけますと幸いです。

## このページのゴール
新規で仮想環境を作成し、モジュールを設定してプログラムファイルを実行する。
⇨Googleの検索画面のソースコードがコマンドライン上に表示されること。

## 作業環境
>OS: macOS moterey(12.3)
>PC: macbook pro(2016)
>Python 3.8
>実施者: ど素人

## 内容
### 参考資料
https://www.python.jp/install/macos/virtualenv.html
### 前提
pythonがインストールされていること
### 実行手順
テキストエディタで以下のコードを記述したファイルを作成する
“`python:sample.py
import requests
print(requests.get(“https://www.google.com/”).text)
“`
コマンドラインで以

元記事を表示

[Python+MeCab+WordCloud] 沼津のご当地歌手の歌詞から沼津愛を図示した

## はじめに

突然ですが、皆様は**飯田徳孝**氏をご存知でしょうか。
あらびき団という番組を視聴していた方や、とあるサッカーチームを応援している方ならご存知かもしれません。

端的に説明すると、普段は漁業関係の組合の職員として勤務する傍ら、「**静岡県沼津市**の**ご当地シンガーソングライター**」として、沼津市をアピールする楽曲を歌い、聴く人を皆笑顔にしている方です。

https://note.com/blue_let/n/nb24b7e2ee394

そんな飯田徳孝氏の歌詞を分析してみることで、彼の沼津愛を具体的に図示することが出来ないだろうか、と考えました。
そこで、今回は「形態素解析」を行い、「WordCloud」を用いることで、登場頻度の高いワードをビジュアライズしてみました。

アウトプットのため、ライブラリや引数の説明も盛り込むこととします。

## 0. 下準備 : MeCabと辞書を設定する

まず、MeCabという形態素分解(文章を単語単位で分解すること)のエンジンをインストールし、新語や固有名詞を扱いやすくするための追加の辞書を導入する必要があります。

元記事を表示

PythonでBybitのOHLCV(ローソク足+出来高)を取得する

はじめに

BybitのOHLCVデータを取得するコードです。バックテスト等にご活用ください。
取引所からデータを連続取得するので、長期間のデータを取得する際はサーバへの過度な負荷に気をつけて下さい。

コード

インバース無期限、USDT無期限

“`python
from datetime import datetime
import requests
import pandas as pd

# 通貨ペアを指定
symbol = ‘BTCUSDT’

# 時間足を指定(詳細はhttps://bybit-exchange.github.io/docs/linear/#kline-interval-interval)
interval = 240

# 取得開始の日付を指定
start_date_str = ‘2020/3/25 00:00’

# 取得終了の日付を指定
end_date_str = ‘2022/3/29 21:00’

# インバース無期限(https://bybit-exchange.github.io/d

元記事を表示

競技プログラミングAI「AlphaCode」のコードレビューをしてみた ?

DeepMindのAlphaシリーズ最新作「AlphaCode」が、競技プログラマーの標準レベル(Codeforces TOP 54%)に達したとの発表がありました。
AlphaCodeは今をときめくTransformer系のディープラーニングで、課題文を入力すると解答プログラムを出力する自然言語処理を行います。そうです、これはすなわちプログラミングをするプログラムです。マジかよ……。
詳しい手法については[公式ブログ](https://deepmind.com/blog/article/Competitive-programming-with-AlphaCode)や[論文](https://arxiv.org/abs/2203.07814)を参照してほしいのですが、DeepMindは別途いくつかの解答例について正誤あわせて確認できる[デモサイト](https://alphacode.deepmind.com/)も用意していて、これがめちゃくちゃ面白いです。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/

元記事を表示

zip(*sorted(zip(list1, list2)))の意味がわからなかった話

# はじめに:zip(*sorted(zip(list1, list2)))が何やってるか分からなかった。

– 202203 現在、開催中の Kaggle competition「h-and-m-personalized-fashion-recommendations」に参加中。
– コンペ内の Notebook を読んでいる際に、`zip(*sorted(zip(list1, list2)))`の意味がよく分からなかった。
– 備忘録として残しておきます。

# 理解できなかったコード

実際に理解できなかったコードは以下。

“`python
_, popular_items = zip(*sorted(zip(popular_items_group, popular_items_group.keys()))[::-1])
”’
ここで、すでに生成済みの変数の意味合いは以下。
——————-
popular_items_group:pd.Seriesオブジェクト。indexは各アイテムのユニークなid, valueは各アイテムの人気度合いを表す指標。

元記事を表示

DOBOT Magician 便利リンク集 Pythonでの実行方法

#

## DOBOT MagicianをPythonで動かすときに便利なリンク集

– DOBOT Magician OFFICIAL Download
https://www.dobot.cc/downloadcenter/dobot-magician.html#most-download
DobotStudioはControl Software
デモプログラムはDevelopment protocol内のDobot Demo v2.3

– DOBOT Magician Specifications
https://www.dobot.cc/dobot-magician/specification.html

– DOBOT Magician デモ説明書
https://physical-computing-lab.net/wp-content/uploads/dobot-magician-demo-description-JP.pdf

– DOBOT API
http://www.dobot.it/wp-content/up

元記事を表示

recsys-pythonを進めていく(第1章)

# 参考文献とか
1. https://recsyslab.github.io/recsys-python/

# やった理由
– 推薦システムに入門したいなとここ3年ほど思っていた。
– `NumPy`を使って行列計算とかに慣れていきたいと思っていた。
– twitterで1.が流れてきたので、とりあえず読み進めていくことにした。

# やったこと
– google colabで参考文献1.の第1章を解いた。
– 以下の場所に.ipynbファイルを置いておいた。暇だったら見ていってほしい。
– https://github.com/yaminabeworks/qiitakiji/blob/main/numpyknock_recsys01.ipynb

# 感想

– 元ネタのページは、推薦システムの理解のためだけでなく`numpy`を使ってなんかしてみるいい機会を作ってくれたという点でもとてもありがたいものだった。
– 連休は終わってしまったが、来週までに時間を作って進めていきたい。
– そこまでむずかしくない操作でも1章分、26問もあるとちょっと尻込みする。
– なんだ

元記事を表示

OTHERカテゴリの最新記事