tomonosuke

PySide

QSplitter についてまとめてみる

各レイアウトの幅を自由に変更できるようになる QSplitter についてです。色々とクセがあってこれまで使う度に1から調べることになっていたので、いい加減ちゃんとまとめておこうと思います。 QSplitter | PySide 公式 QSplitter Class | Qt 公式 基本的な使い方 QSplitter を作ってレイアウトに設置 QSplitter に入れたいウィジェットを作る QSplitter に配置 というのが最も基本的な使い方です。 横へ分割 上のコードは 横方向へ分割しています。Q ...

PySide

QTableWidget についてまとめてみる

久しぶりに QTableWidget を使う機会があったんですが、色々と苦戦したのででまとめておきます。 PySide | QTableWidget PySide | QTableWidgetItem Qt 6.2 LTS | QTableWidget Class Qt 6.2 LTS | QTableWidgetItem Class 基本的な QTableWidget の作り方 とりあえず下記のコードが使えれば基本的なテーブルウィジェットは作れます。 テーブルウィジェットの作成 テーブルウィジェットを作 ...

PySide

PySide のシグナルを一括で設定する【 signal と lambda】

各ウィジェットのシグナルとスロットを for 文で一括で設定していきます。趣旨としては、よくわからんエラーをよくわからん方法で解決できた、というものです テストコード 下記のコードでテストしていきます。 QLineEdit が3つ並んだだけのものです。上記の文ではシグナルを設定していないので入力しても何も起きません。 これからそれぞれテキストを入力した際のシグナルを text_change メソッドに接続し、下記のようにそのウィジェット名と内容を出力するようにします。 ひとつずつシグナルを設定する場合 そ ...

PySide

【PySide】使いやすいフラットUI のダイアログボックスを考える

使いやすいダイアログボックスが欲しかったので記事を書きながら作ってみたいと思います。 下記のボタンで起動するダイアログボックスのコードを書いていきます。 スタンドアロン / Maya / Houdini / Blender で共有できる UI を作る【クロスプラットフォーム】 コードは上記のページで作ったものを流用しています。そのため スタンドアロン・Maya・Houdini・Blender に対応しています。一番下の呼び出しのコメント文を切り替えることで各環境 に対応します。 今のところ QSS を当て ...

Maya Python PySide

スタンドアロン / Maya / Houdini / Blender で共有できる UI を作る【クロスプラットフォーム】

PySide2 を利用して、スタンドアロンでも Maya でも Houdini でも Blender でも共通のコードを利用できる UI を組んでいきます。(果たしてこれをクロスプラットフォームと呼んでいいのだろうか) 基本的にはコマンドや作り方が違うんで全く違うツール構成になるんですが、パイプラインツールなどは自然と共通のものを利用することが多くなります。 各環境による起動コードの違い それぞれの環境で起動するためのコードが違います。まずは各コードの違いを見ていきます。 このコードを使って同じウィンドウ ...

Machine Learning

【 PyTorch 】畳み込みニューラルネットワークのクラスリファレンス

書きかけの記事です。 リンクなど自由にしていただいて構いませんが、ヘディングの ID などがコロコロ変わりますのでご注意ください。 ニューラルネットワークを構築するNNモジュールの畳み込み系のクラスを検証していきます。 TORCH.NN 検証に使用するコードは下記です。画像を読み込んでニューラルネットワークの各層が何を行っているかを見ていきます。 PyTorch Lightning の nn モジュールを使用するにはミニバッチの形にする必要があるため、通常の画像の配列に1次元足しています。 torch.n ...

Django

Ubuntu 環境へ Django で作った WEB アプリケーションをデプロイする ③【APサーバ】

上記の記事の続きです。 前回は VPS の中に Nginx を使用して Web サーバを構築し、リクエストを送るとレスポンスが返ってくるところまで行いました。 WEB 3層構成 目的は題名の通り、Django で作った WEB アプリケーションを VPS で公開することです。 そのためには下記のような WEB 3層構成(WEB 3層構造)を構築していきます。 下の段にある Webサーバ・APサーバ・DBサーバそれぞれが別の種類のサーバです。 サーバとはリクエストに対してレスポンスを返すものでした。 これら ...

Django

Ubuntu 環境へ Django で作った WEB アプリケーションをデプロイする ② 【サーバとは何か】

エラーがでまくったので結局サーバーサイドの基礎知識を得るところから始めました。ここから一歩歩くごとにエラーが出ました。 こちらは上記の記事の続きです。 サーバの概要 このページは「サーバとは何か」というのが一貫したテーマになってきます。 実際のところ私はここにくるまで「 サーバはどこかにあるコンピュータ 」という認識しかありませんでした。 今までであればこの認識で何の問題も起きなかったんですが、Django をデプロイしていくにあたってはこの認識では一歩も前に進めませんでした。 サーバとは 利用者の要求( ...

Django

Ubuntu 環境へ Django で作った WEB アプリケーションをデプロイする ① 【ローカル > サーバ】

ConoHa VPS の環境構築 【ログイン設定】 上記で構築した VPS に Django で作成したアプリケーションをデプロイしていきます。 【 ローカル 】ローカルの設定 Djangoの設定ファイルを開発用と本番用に分割する SECRET_KEY の設定 settings.py に記載されている SECRET_KEY はアカウント情報を暗号化するためのものです。アカウント登録を行わないアプリケーションであれば飛ばしてもいい(はず)です。 SECRET_KEYは、セキュリティ系のtoken等の生成に使 ...

Machine Learning

画像処理におけるデータローダ【PyTorch】

データローダを作成するには データセットの作成 データセットからデータローダを作成 の手順で行います。 データローダの概要 ミニバッチ学習を行う際にデータローダをよく利用します。 ミニバッチ学習の構造は下記です。 この1エポックの構造を作るのがデータローダです。 PytorchのDataloaderとSamplerの使い方 Pytorch の Dataset、Dataloader の仕組みを理解しながらPytorchをやってみた アノテーション データローダを利用するにはアノテーション済みのデータが必要で ...

Machine Learning

torchvision.Transforms による画像データのオーグメンテーション

torchvision.Transforms にによるオーグメンテーションについてまとめています。結果がわかりやすいように極端な値を入れているものが多いです。 TRANSFORMING AND AUGMENTING IMAGES torchvision.Transorms の使い方 そのまま学習データに使う 一般的なデータ拡張の方法です。データを保存せずにそのままデータセットを作り、深層学習へ入っていきます。データが増えないためすぐに学習を開始できますが、実際にどういったデータで学習したかを後から検証でき ...

Python

OpenCV による画像加工の基本【 画像合成までの基礎 】

Open CV とは OpenCV | 公式ページ Open CV は画像や動画を処理するための機能がまとめて実装されているライブラリです。色々できます。目次を見て頂けるとよいかと思います。 インストール main( core )モジュールのみ contrib モジュール contrib( extra )モジュールも必要な場合 contrib モジュールは開発用のモジュールです。 初めてのOpenCV開発 ― opencv_contrib紹介【OpenCV 3.1.0】 opencv_contribでは比 ...

Django

Windows10 に Linux 環境を作る【 Ubuntu と WSL 】

先日 VPS を借りたので、Ubuntu のログイン設定を行いました。今回は同じ環境をローカルの Windows 10 に作ります。 Windows10 Ubuntu 20.04LTS PyCharm Proffessional(有料版) 目的は VPS と同じ環境で Django 開発を行うことです。 PyCharm を使ってローカルの Ubuntu 環境で Django を開発します。 Ubuntu のインストール そもそも Ubuntu がよくわかってなかったので調べました。 Ubuntu とは U ...

Django

ConoHa VPS の環境構築 【ログイン設定】

ConoHa VPS ConoHa で VPS をレンタルしたので、メモがてら環境構築の手順について書いていきます。基本的には VPSスタートアップガイド の手順で行っていきます。 ConoHa VPS 1GBプラン OS : Ubuntu 参考にさせて頂いたのは下記のページです。 ConoHa VPSにUbuntu。スタートアップガイドの読み方。 | Snow Tree in June 接続許可ポートを設定 接続許可ポートを設定する SSH | 公開鍵認証を設定する SSH とは安全にサーバーに接続する ...

Python

コマンドラインで Python ファイルを実行する【 argparse モジュールについて 】

コマンドライン で Python を実行する コマンドラインは ターミナルやパワーシェル、コマンドプロンプトのことです。 下記のコードを書いた python ファイルを 「test.py」の名前で仮想環境の直下に置きます。 この状態で下記のコードをターミナルで打つと、ターミナルでokと表示されます。 階層を変更した場合 上記のように階層を変えた場合は次のようにして呼び出します。 仮想環境を作っていない場合は絶対パスを渡せば実行できます。 コマンドライン引数とは 今回はこのコマンドラインから Python ...

Django

【Django】最初にやることの流れ

Django のインストール 現在最新の LTS は 3.2 です。 2024年4月までサポートされます。 プロジェクトのベース作成 最初に Django に関するフォルダ・ファイル群を生成していきます。 プロジェクトの作成 プロジェクトを作成する | 公式ページ シェル / ターミナル上で上記のコードを入力するとディレクトリが生成されます。最後にピリオドつけないと階層が一階層深くなってしまいます。PyCharm だとサーバーを起動する際に仮想環境の変更が必要になるので注意。 アプリケーションの作成 この ...

PySide Python

watchdog と PySide でディレクトリ監視を UI で制御する

watchdog を PySide で利用し、ディレクトリの監視を UI で制御してみます。 watchdog について watchdog | API Refrence watchdog | PyPl インストール 今回作るのは下記のようなものです。 watchdog が指定したディレクトリを監視し、そのディレクトリ内でフォルダやファイルの作成・更新・移動・削除があった場合にそれを検知して知らせるところまでを実装します。 実装 UI の作成 かなりシンプルな UI にしました。 ラインエディットに入れたデ ...

Django Python

Django の環境構築で色々迷ったのでメモ

環境 Pycharm python 3.8 環境構築 Django のインストール Heroku のインストール Heroku CLI のインストール 上記のインストールを行った後、シェルで下記を入力。 Heroku のインストールはこれでできた。 アクセス権のエラーがでたらこれ。 venv が起動しない Heroku を扱うには venv をアクティブにする必要があるが、 これでアクティブにならなかった。エラー文が下記。 解決 PowerShellでvirtualenvを使うには 上記を参考にしてアクテ ...

PySide Python

UI に画像を埋め込んだ Python プログラムを exe化する

python で書いたプログラムを exe 化する際、めちゃくちゃ面倒だったので残しておきます。 開発環境: Python 3.9 PyCharm Pyinstaller 4.9 PySide2 の UI 下記を参考にすれば 画像以外の exe化までは問題なくいけました。 【Pyinstaller】Python exe化する方法 エラー対策あり! PyInstaller備忘録 2行でPython[.py]の[.exe]化 [Python exe化]実行ファイル化したPythonプログラムではfileを使わ ...

Maya Python

スクリプトで学ぶ maya のノード体系①【 DAGノード 】

今回はノードやアトリビュートとは一体どういったものなのか、ということについて解説していきます。 ノード ノードとはアトリビュートを持つもので、アトリビュートのひとかたまりです。 アウトライナ・ハイパーシェード・アトリビュートエディタの上でタブ化されているものなどがノードと呼ばれるものです。 ノードは ノードタイプ によっていくつかの種類に分類されます。ノードタイプはアトリビュートエディタのノード名の左に表示されています。 他にも Hypergraph Hierarchy や Hypergraph Conn ...

Maya Python

maya 起動時に自動でコードを実行する【環境変数について】

maya を使う時、個人個人で違う設定にしたいことがあると思います。 例えば スクリプトを置くフォルダを別の場所にしたい場合。デフォルトであればC:\Users\ユーザー名\Documents\maya\scriptsのフォルダにダウンロードしたツールやスクリプトを入れて利用します。 しかし、ツールやスクリプトを自作するようになると外部のものと自作したものが混在してしまうため、デフォルトのフォルダにまとめて運用すると不都合が起きる場合があります。 こういったときに環境変数を設定しておくとスクリプト置き場を ...

Maya Python Python

文字コードを理解して正しく日本語を使う【 unicode_literals のインポートについて】

コンピュータは 0 か 1 の値しか認識できません。あなたが今こうやってみている文字は、コンピュータにとってみれば 0 か 1 の値の集合体でしかありません。コンピュータを使って聞いている音楽も、見ている映像も、遊んでいるゲームも、触っているポリゴンも、コンピュータ上ではすべて 0 か 1 の集合体です。 今回は文字情報をどうやってコンピュータに渡しているか、またどのように返ってきているのか、というお話です。 後半では python2 と python3 における文字コードの扱いの違いについてお話しします ...

Maya Python

コード内にメモを書く。コメントアウトのやり方と文字コードについて

python で日本語を扱う際の文字コードと、コード内にメモを残す方法についてお話しします。 文字コードについて python2 の環境で日本語を扱う際、文字コードを指定する必要があります。 文字コードに関して簡単に解説されているサイトは次のところでしょうか。データを開いただけなのに……文字化けってどうして起こるの? | モリサワ まとめると、パソコンで表示されている文字には規格があり、その規格がずれてると文字化けが起こる、ということです。 例えば mac と windows 間でzip ファイルをやりと ...

Maya Python

制御構文を使って実務で使える CUI を組む ~ ループ構文の基礎と実用と応用 ~

今回、長い です。長いですが、実務で使えるコードが書けるようになります。 具体的には制御構文を使った一括処理がテーマです。今までは 1行か 2行の文を書いてきましたが、今回から 文章 を書いていきます。つまずいたら、ゆっくり一単語ずつみていってください。 【for文】ループ処理の基礎 for 文という制御構文について解説していきます。繰り返しの処理を行うためのもので、短いコードで規則的な処理を行うことができるようになります。 下記のコードを実行すると大きさの違うポリゴンのキューブが 10個 とコーンが1つ ...

Maya Python

maya python はここから始まる。スクリプトエディタの基本機能と使い方を詳しく解説

maya でプログラミングを行うにはスクリプトエディタが必要です。エディタの解説をしつつ、最も簡単なスクリプトの作成方法と関数についても触れていきます。