エクセルの文字列関数。 文字列の長さを返す。 ex:A1セルにloveが入っている場合、=len(A1)で、4が返される。
#お題 の辞書の長さをprint関数を使って出力してください。 #入力(辞書) {"職業":"戦士", "体力":100, "魔法力":200, "ゴールド":380} #出力 4 #コード skills = {"職業":"戦士", "体力":100, "魔法力":200, "ゴールド":380}print(len(skills)) #参考
良くある商品コード等 エクセルでの表示形式でも処理はできる 関数を組み合わせてもっとスマートに 具体的な関数の組み合わせ 正解はないので、とにかく手を動かしてみる 良くある商品コード等 こんにちは、エクセルに限らず仕事をしていると○○コードみたいなデータをよく見ます、例えば 商品コード 従業員コード 得意先コード 等々、様々な○○コードがあります。そして、そのコードはだいたい、こんな感じです、 「0001」とか「0011」と頭にゼロのつくものを良く見ます。 エクセルでの表示形式でも処理はできる ただしエクセルでは普通に「0001」とか打つと 結果はこうなります、皆さんも経験ありますよね😭 無理…
どうも。(。・ω・。) ひーくんです。 今回の記事では、「住宅・材木業界」の現状と企業についてざっと見していきます。 最近話題の「ウッドショック」についてもふれていきます。
Pythonにおける条件分岐はプログラミングの基本ですが、複数の条件を扱う場合、その使い方にはいくつかの方法があります。そこで、本記事では、『if文で複数条件をリストで使う方法』について詳しく解説します。 実践的な例を交えながら丁寧に解説していきますので、ぜひ、最後までお付き合いください。 複数条件をリストで表現する方法 Pythonでは、複数の条件をリストで表現することができます。 これは、if文を使って条件分岐する際に便利です。 具体的な使い方を見ていきましょう。 conditions = [condition1, condition2, condition3, ...] if all(c…
https://atcoder.jp/contests/abc351/tasks/abc351_e基本的には座標でソートして累積和を取っておけば計算できます。ただ、斜めの座標に変換しておかなければならないです。 // Jump Distance Sum #![allow(non_snake_case)] //////////////////// library //////////////////// fn read<T: std::str::FromStr>() -> T { let mut line = String::new(); std::io::stdin().read_line(&…
これは、なにをしたくて書いたもの? テキスト埋め込みを行うにはSentence Transformersを使うのがいいのかなと思っているのですが、できれば単体で動作するサーバーとして 使いたいなと。 これをやろうとするとLocalAIを使うのが1番近い気がするのですが、準備にかなり手間がかかります。 Embeddings / Huggingface embeddings じゃあもういっそのこと簡単なAPIサーバーを自分で作ったらいいかなということで、作ることにしました。 Sentence Transformersのインストールには時間がかかるのですが、それさえできてしまえばテキスト埋め込みを動…
1つのプロセスだけで実行するには遅い処理や、Web APIの処理待ちなどがあるとき、並列処理や非同期処理で高速化したくなりますよね。 Pythonだと標準パッケージだけでもthreadingとかmultiprocessingとかasyncioなど複数の選択肢があり、各パッケージでもコードの書き方の選択肢が豊富にあって迷いがちなので、それぞれの 簡単な概要(使い分けの判断材料のため) シンプルなコード例(map()関数のようにiterableを関数に通す方法だけ紹介) をまとめてメモしておきます。 (※ Python 3.11環境を想定して書いています) スレッドベースの並列処理(threadi…
最近、大規模言語モデル(LLM)の学習することが多いので、大規模なモデルの学習方法について記載します。 並列学習について Data parallelism (DP) ZeRO 概要 実装例 Pipeline parallelism (PP) 並列学習について 巨大なパラメータをもつモデルの学習は非常に時間がかかってしまいます。そのため、計算時に並列を行っていく必要があります。大きく分けて3パターンあります。 Data parallelism (DP) Pipeline parallelism (PP) Tensor parallelism (TP) Data parallelism (DP) …
Pythonを学ぶ上で欠かせないのが、for文とrange関数の理解です。 これらを使うことで、リストなどのデータを効率的に処理できます。 特に、リストの要素を順番に取り出して処理したい場合には、for文とrange関数の組み合わせが非常に役立ちます。 for文とは? まず、for文について説明します。 for文は、リストやタプルなどのイテラブル(iterable)なオブジェクトから要素を取り出して繰り返し処理を行うための制御構造です。 以下は、for文の基本的な構文です。 for 要素 in イテラブルオブジェクト: 処理 range関数とは? 次に、range関数について説明します。 ra…
install SQL Server to Oracle Linux 8 - end0tknr's kipple - web写経開発 先日の上記entryの続きです。 今回は、SQL Server 2022 for Linux に対し、 utf-8で記載されたcsvファイルをbcpコマンドでインポートします。 目次 utf-8のデータベース作成と、その確認 ログインユーザとデータベースユーザの追加 ロールへのユーザの追加 インポート先のテーブル作成と確認 /opt/mssql/lib/mssql-conf/mssqlsettingsmanager.py の編集 utf-8で記載されたcsvファ…
今回は機械学習の重要なトピックである「潜在変数モデル」と「EMアルゴリズム」について、実装例を交えながら丁寧に解説していきます。 潜在変数モデルとは? 潜在変数モデルでは、観測できる変数(データ)と観測できない潜在変数(隠れた要因)の間に何らかの関係があると仮定します。例えば、以下のようなモデルが考えられます。 人の収入(観測変数)は、能力や努力度合い(潜在変数)に影響を受ける 天気予報の適切さ(観測変数)は、予報士の能力(潜在変数)に左右される 製品の品質(観測変数)は、工場の設備状況(潜在変数)による このように、潜在変数モデルでは観測できないが重要な要因(潜在変数)が、観測できるデータ(…
交換子の計算(2) 「マグマの左単位元と右単位元」の問題の構文解析を ChatGPT でやってみようと入力したところ、「Lark ライブラリ」を使ったプログラムが返ってきました。そこでいったんこのプログラムを自分で改造して交換子の計算の構文解析をやってみることにしました。 class GroupExp: def __init__(self, exp, struct_exp = None): if exp == "e": self.exp = "" else: self.exp = exp if struct_exp is not None: self.struct_exp = struct_e…
Microsoftから公開されたPhi3-miniをTransformers + MacのGPUを使ってで動かしました。 Phi-3とは Microsoftが公開している小規模言語モデルです。パラメータ数を抑えながら高い制度の回答を返すことができます。パラメータ数が少ないため、ラップトップやエッジデバイスなどで言語モデルを使うことが可能になります。 news.microsoft.com 準備 以下からモデルのダウンロードを行います。 huggingface.co モデルをダウンロードしたら同じディレクトリに以下のコードをmain.pyとして保存します。 import gradio as gr …
カラーパレットの拡張 カラーパレットの拡張 パレットファイルで使える色を増やす方法 カラーパレットの画像出力ショートカット 画像ファイルの色でパレットを拡張する タイルマップエディタも同時に使う 関連記事 Python向けレトロゲームエンジン「Pyxel(ピクセル)」で表示色数を増やす実験をしました。 Pyxel 2.0.7 で追加された from_image()メソッド,load()メソッドを使用したもので,実験は 2.0.10 版で行いました。※本記事の内容は公式にアナウンスされている仕様ではありません。ブラウン管表示やTMXファイル対応で表示機能が拡張されたPyxel 2版ではこんなこと…
交換子の計算 以前引用した交換子の計算をするプログラムを作成しました。これは ChatGPT で「文字列を逆順にして、大文字を小文字に、小文字を大文字に変換したものを取得するプログラムを書いてください」と「文字列の中に「大文字とその文字の小文字」か「小文字とその文字の大文字」が連続しているときその二文字を削除することを繰り返して、そのようなパターンが含まれない文字列に変換したものを取得するプログラムを書いてください」と入力して得られた関数を使って、クラスのサンプルを元に、ChatGPT を使って Python の情報を得ながら作成しました。 class GroupExp: def __init…
プログラムの改造(2) 前回のプログラムに、互換に適用した場合のコメントを入れます。assert を入れようと思ったのですが、うまくできなかったのでコメントだけです。ChatGPT で assert とコメントを入れることができれば良いのですが、やり方がわからないので自分で入れます。ChatGPT で Python について聞くとかなり詳しく答えてもらえるのでそれを参考にしてやっています。ChatGPT と Python の練習にはなります(AI がやってくれる時代に必要かは疑問)。 def adjacent_transpositions_indices_list(perm): """ 隣接互…
この大会は2024/4/18 1:00(JST)~2024/4/22 14:00(JST)に開催されました。 今回は個人で参戦。結果は2338点で168チーム中8位でした。 あと1問で全問制覇だったのに残念です。 自分で解けた問題をWriteupとして書いておきます。 Day by Day (Misc 99) 日付がランダムに並んでいるので、空いている日付を答える問題。まず日付順にソートする。 $ cat dates | sort > dates_sorted ソートした日付を順に見ていき、次の行が次の日になっていない箇所を探す。 #!/usr/bin/env python3 from dat…
Janの最新バージョンv0.4.12が本日リリースされた。Llama3とCommand R+をサポートするようになったらしい。ダウンロードしてみたところ、GroqでLlama3の70Bが使えるようになっていた。GroqはOpenAIのようにAPIを通してサービスを提供しており、LPU(Language Processing Unit)というLLMを爆速で動かすLLM推論専用ハードを開発している会社だ。 Llama3の70B(700億パラメタ)はサイズが40GB以上あるので、我が家のLAN環境ではダウンロードするだけで数時間かかる。ここは手っ取り早くJanのAPI機能を使って動かしてみることにし…