日々精進

新しく学んだことを書き留めていきます

2022-07-01から1ヶ月間の記事一覧

PyCharmで開発していると「The Git process exited with the code 1」エラー

AI

WSL2からアクセスできるパス(「\wsl.localhost\Ubuntu\opt\ml\mypj」のような感じ)をPyCharmで開いて開発していると、掲題のエラーが発生した。PyCharmを開いてすぐは大丈夫だけど、たまにエラーが出る感じ。一旦発生するとWSLを再起動しないと直らないの…

pd.concatでDataFrameを列方向に連結する場合、indexが揃っているか確認する

AI

pd.concat([df1, df2], axis="comuns") のようにして列方向に連結する場合、df1とdf2のindexが同じ行同士を結合させるので、indexの値が揃ってないと例えば「df1にあった列はすべてnanでdf2にあった列にだけ値が入っている行」とかが出来てしまう。 reset_in…

pd.concatでDataFrameを列方向に連結する場合、indexが揃っているか確認する

AI

pd.concat([df1, df2], axis="comuns") のようにして列方向に連結する場合、df1とdf2のindexが同じ行同士を結合させるので、indexの値が揃ってないと例えば「df1にあった列はすべてnanでdf2にあった列にだけ値が入っている行」とかが出来てしまう。 reset_in…

springfox2.10.xは使ってはいけない

IT

以下のIssueでcommitterが2.10はbuggyなので使わないでと言っている。じゃあリリースバージョンにbetaとかつけてほしい。。 github.com 3.0.0の使用を推奨しているが、もう2年ぐらいリリース止まっているので別のライブラリに乗り換えた方がよさそう。

SageMaker PipelinesからManaged Spot Trainingを実行した場合、中断からの再開後のログを見る方法

AI

通常、SageMaker PipelinesからTrainingJobを実行した場合、以下の方法でログを見る。 SageMakerStudio>SageMaker resourcesでProjectを選択>Pipelineを選択>Pipeline Executionを選択>Stepを選択>Logsタブを選択>「View logs in CloudWatch console」…

lightgbmでpredictを実行すると「{ValueError}train and valid dataset categorical_feature do not match.」エラー

AI

以下の記事を書いたときとは別の原因で掲題のエラーが発生した。 anton0825.hatenablog.com 原因は、学習時と精度検証時で使用するモデルを取り違えていたこと。 特徴量生成のコードを修正しているときで、学習回す度に特徴量の数が変わっていた。ちょっと古…

SageMaker TrainingJobを実行すると「InternalServerError」エラー

AI

CloudWatchでログを見てもエラーメッセージは出ておらず、TrainingJobの詳細画面には以下のメッセージが出ていた。 Failure reason InternalServerError: We encountered an internal error. Please try again. 原因はディスク容量不足だった。TrainingJobの…

JUnitのassertThrowsで例外がthrowされることをテストしたらエラーメッセージがログに出る

IT

以下のように、assertThrowsでExceptionがthrowされることをテストする場合。 assertThrows(Exception.class, () -> myObj.method()); 想定通りの例外がthrowされた場合でも以下のようなエラーメッセージがログに出るので邪魔くさい。 Exception in thread "…

SageMakerの各種インスタンスタイプ毎のQuota初期値一覧

AI

SageMakerの各種インスタンスタイプ毎のQuota初期値一覧は以下にある。 docs.aws.amazon.com 大体が初期値0になっていて申請しないと起動出来ないのは厳しい。。EC2インスタンスの方はQuotaかなり緩い印象なのになぁ。 SageMaker マネージドスポットトレーニ…

PyCharmでSSH Interpreterを使っている時に、input関数にコンソールから値を入力できない

AI

以下で報告されている現象。 https://youtrack.jetbrains.com/issue/PY-42002?_gl=1*1q9e4t1*_ga*MTE3NTIyMjkwNC4xNjU3NjEyMzcz*_ga_9J976DJZ68*MTY1ODU4MDI3MC41LjEuMTY1ODU4MDMxNS4w&_ga=2.156628978.851950059.1658580270-1175222904.1657612373 PyCharm…

WSL2を再起動する度に/etc/resolve.confが消える

IT

以下のIssueで報告されている現象。これが起きると、インターネットと通信出来なくなるので困る。 github.com まだ未解決のようだが、一旦workaroundとして、以下を実行すると消えなくなる。 sudo sh -c "echo 'nameserver 8.8.8.8' > /etc/resolv.conf" # …

JUnitで例外がthrowされるケースのテストをしたら「Exception in thread "pool-1-thread-1" java.lang.RuntimeException」が出て鬱陶しい

IT

以下のような感じで例外がthrowされることをテストした場合。 assertThrows(Exception.class, () -> obj.method()); 想定通りのExceptionが出てテストが成功する場合でも、「Exception in thread "pool-1-thread-1" java.lang.RuntimeException」みたいなエ…

gradlew dependenciesを実行した時にorg.hamcrest:hamcrest-core:1.1 -> 1.3のように表示される->の意味

IT

以下のように表示されていたら、mockito-core:1.9.5はhamcrest-core:1.1に依存しているが、他のライブラリの依存関係から実際にインストールされているバージョンは1.3になっているよという意味。 +--- org.mockito:mockito-core:1.9.5 | +--- org.hamcrest:…

IntelliJからテストコードをデバッグ実行すると「エラー: メイン・クラスxxxが見つからなかったかロードできませんでした」エラー

IT

エラーメッセージからはメインクラスの指定が間違っているとかクラスパスが正しくないとかそういう原因かなと思ったが、 真の原因はCommand line is too longエラーだった。(IntelliJでテスト実行する時に良く起きるやつ) Run/Debug Configuration画面のSh…

Pandasで空文字など数値以外の文字を含む列を数値型に変換する

AI

文字列カラムを数値型に変換する場合。以下のようにpd.to_numericを使うと数値に変換できない場合はnanになる。 df['col'] = pd.to_numeric(df['col'], errors='coerce') 参考: stackoverflow.com

DataFrameのcolumnから数値型のcolumnのみ取り出す

AI

以下のようにする。 num_train = df.select_dtypes(include=[np.number]) 参考: stackoverflow.com

pysen run lintを実行すると「git.exc.GitCommandError: Cmd('git') failed due to: exit code(129)」エラー

AI

原因は、pysenがgitコマンドを実行した時にエラーが発生したこと。git statusコマンドを実行したところ、以下のエラーメッセージが出た。 fatal: unsafe repository ('/opt/ml/code/kaggle' is owned by someone else) To add an exception for this directo…

pysenでpython3.9のフォーマットをすると「Error: Invalid value for '-t' / '--target-version': 'py39' is not one of 'py27', 'py33', 'py34', 'py35', 'py36', 'py37', 'py38'.」エラー

AI

原因はpip install pysenを実行してインストールされるblackのバージョンが少し古く、python3.9に対応していないこと。 pip install black==22.6.0 を実行してblackを最新版にupdateするとなおった。

SageMaker Experimentsにparameterを登録すると「SerializationException」エラー

AI

エラーメッセージの全量は以下。 botocore.exceptions.ClientError: An error occurred (SerializationException) when calling the UpdateTrialComponent operation: 原因はTracker.log_parameters({"param": nan})のようにnanを値として登録しようとしてい…

SageMakerの現在のService quotas確認方法

AI

現在の自分のAWSアカウントのService quotasは以下の方法で確認出来る。 以下のページを開く https://console.aws.amazon.com/servicequotas/home AWS servicesをクリック 検索ボックスに「Amazon SageMaker」を入力し、Amazon SageMakerのリンクをクリック …

gradle buildで「java.lang.OutOfMemoryError: Java heap space」エラー

IT

「java.lang.OutOfMemoryError: Java heap space」で検索してみると、gradle.propertiesに以下のように設定してヒープサイズを大きくすると直るという情報があるが、直らなかった。 org.gradle.jvmargs=-Xmx4g 原因はログに画像をbase64エンコードした文字列…

docker buildすると「failed to solve with frontend dockerfile.v0: failed to create LLB definition: circular dependency detected on stage: build-env」エラー

IT

原因は、コマンドの最後に\がついていることだった。以下のように、本当は2行目の末尾に\をつけてはいけないのだがついてしまっていた。 RUN echo ". /opt/conda/etc/profile.d/conda.sh" >> /root/.bashrc \ && echo "conda activate myenv" >> /root/.bash…

lightgbmでpredictを実行すると「{ValueError}train and valid dataset categorical_feature do not match.」エラー

AI

原因は以下 前処理時にDataFrameの列の一部をcategory型に変換していた 学習データは一度parquet形式で保存したものを読み込んでlightgbmに渡していた テストデータは前処理して、parquet形式で保存せず、そのままlightgbmのpredictに渡していた 一度parquet…

Base64.decodeで「java.lang.IllegalArgumentException: Last encoded character (before the paddings if any) is a valid base 64 alphabet but not a possible value. Expected the discarded bits to be zero.」エラー

IT

原因はBase64.decodeに渡した文字列が4で割り切れない文字数になっているため。 Base64は64種類の文字でバイナリデータを表現しているため、1文字が6bitに相当する。なので4文字=24bitを1セットとしてエンコードする。 エンコードするデータが24bitで割り切…

SageMaker Pipelinesでprojectを作成しようとすると、「Error getting the details of Service Catalog Provisioning Parameters. Error message: ValidationException: Access denied while assuming the role sagemaker」エラー

AI

新しいプロジェクトを以下の手順に従って作成しようとしたが、「次のページでは、プロジェクト名と簡単な説明を入力し、「Create Project」を選択します。」の手順で「Create Project」ボタンが非活性になっておりクリックできず困った。 catalog.us-east-1.…

WSL2を起動するとwindowsが超重くなったがVmmemの使用メモリ量を減らすと軽くなった

IT

WSL2をインストールし、起動するとVmmemというプロセスが10GBぐらいメモリを確保してしまい、windowsがめちゃくちゃ重くなった。 以下を参考に、.wslconfigというファイルを作るとVmmemのメモリ消費量が減り、重くなる減少は解決出来た。 devlights.hatenabl…

EBSの容量が足りなくなったら、容量を増やすのではなく新しいボリュームを追加した方が良い

IT

理由は、ボリュームサイズを増やすのは割と簡単にできるが減らすのは面倒だから。(特にルートボリューム) 減らす手順は以下。 blog.e2info.co.jp 最初から、ルートボリュームは少なめにしておき、データボリュームを別途追加してデータはそちらに置くよう…

PyCharmで「Cannot connect to remote host: net.schmizz.sshj.transport.TransportException: Connection reset」エラー

IT

PyCharmのSSH Configurationで設定を入力し、「Test Connection」をクリックすると掲題のエラーが出た。 原因は以下 * ローカルでdockerコンテナを起動し、ホストの2222ポートをコンテナの22ポートにmappingしていた * 同時にEC2インスタンスにもsshで接続し…

spring bootのバージョンを2.6系に上げるとspringfoxがエラーを吐くようになる問題

IT

spring bootのバージョンを2.6系に上げるとspringfoxがエラーを吐くようになる。エラーメッセージは以下。 org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.…