ブックマーク / qiita.com (1,076)

  • 糞コードは直すな。 - Qiita

    とりあえず落ち着け。 みなさん、毎日なにかしらのコードを読み、開発する日々を送っていると思います。そんな中で、 糞コードは死ぬべきである!!絶対に直すべき!! という感情に取りつかれてしまうことがあると思います。自分の技術力に自信のある人ほど、無理やりにでも直そうと試みると思います。それがどんな修羅の道か。そして、糞コード修正がどんな道を歩むのか。この記事では糞コード修正の罠とありがちなストーリーについて書きたいと思います。 ビジネスとしてのプログラムは質的に糞である 例えば、「携帯電話の利用料金」のプログラムがあります。 「携帯電話 透明性高め料金値下げを」という記事もあるように世の中の携帯電話の料金プランはかなり複雑です。例えば、auだと「auでんき」といった電気料金とパックされた電話料金プランがあります。また、「auスマートバリュー」といったプランもあり、家のインターネット回線をa

    糞コードは直すな。 - Qiita
    yag_ays
    yag_ays 2020/08/03
  • GitHub Readme Stats を利用してGitHubプロフィールをカッコよくする - Qiita

    はじめに GitHubの統計情報を動的生成してくれる GitHub Readme Stats1 を利用して、GitHubプロフィール2をカッコよくする方法を紹介します。 具体的には、以下のようにGitHubプロフィールの上部に統計情報を表示できるようになります。 公式のREADME には以下のように記載されており、元々GitHubプロフィール用README.mdでの利用を想定して作られたサービスですので、みなさんもGitHub Readme Statsを利用してGitHubプロフィールを充実させてみましょう Get dynamically generated GitHub stats on your readmes! DeepL翻訳。 あなたの readmes に動的に生成された GitHub の統計情報を取得しましょう! 動的に生成できる統計情報 GitHub Readme Stats

    GitHub Readme Stats を利用してGitHubプロフィールをカッコよくする - Qiita
    yag_ays
    yag_ays 2020/07/31
  • Mozcの辞書を使ってMeCabでかな漢字変換する - Qiita

    Mozc (OSSのIME) 用の辞書をMeCab (OSSの形態素解析器) 用の辞書に変換することで、MeCabでかな漢字変換できるようにするスクリプトをお遊びで作りました。 💁‍♀ https://github.com/ikegami-yukino/mecab-as-kkc 💁‍♂ 現状では、かな漢字変換は日常的に使われているにも関わらず割とニッチな分野です。特にLinux界隈ではこれまで使われてきたMozcの開発頻度が大幅に下がったため、新しいIMEの登場が期待されています。これをきっかけに少しでもかな漢字変換に興味を持っていただければ幸いです。もっと欲を言えばMozcの代わりとなる新しいLinux用IMEを作っていただけたら最高です。 また、mecab-as-kkcをnksndやJLM、SIMPLE、ngram-converter-cpp、neural_ime、mecab-sk

    Mozcの辞書を使ってMeCabでかな漢字変換する - Qiita
    yag_ays
    yag_ays 2020/07/20
  • PyTorchの関数本体ってどこで定義されてるの?逆伝搬は?~ATenの世界へのみちしるべ~ - Qiita

    はじめに 稿はPyTorch中級者以上向けのニッチな内容ですが,どうしても計算方法の定義が見たいという方にはおすすめです.内容は主に3つです. PythonからC++で書かれたATenライブラリへの橋渡し (conv2dを例に挙げ,)ATen内で順伝搬関数が扱われているかを見る 逆伝搬関数がいかに順伝搬関数と紐づいているかを見る 隠された実装 PyTorchの公式ドキュメントを見ながらプログラミングをし,時には[Source]ボタンを押してgithubの実装を確認したりしますよね.でも[Source]ボタンがないときありますよね?例えばtorch.nn.Conv2dには[Source]ボタンがありますが,torch.nn.functional.conv2dにはありません. ・・・なんで同じConv2dなのに実装が見れないの? と思いつつ,PyTorchgithubを確認してみます.to

    PyTorchの関数本体ってどこで定義されてるの?逆伝搬は?~ATenの世界へのみちしるべ~ - Qiita
    yag_ays
    yag_ays 2020/07/13
  • 【機械学習】"やってはいけない” アンチパターンを共有しよう! - Qiita

    Cannot participate because closed. ClosedWhen you participate, we will assume that you have agreed to the terms of use Require logged in for participate. campaignHow to participate① Check rule and participateCheck rule of posting campaign and participate. ② Write articleWrite article with content that is consistent with the theme of posting campaign! ③ Register campaign and post articleRegister ca

    【機械学習】"やってはいけない” アンチパターンを共有しよう! - Qiita
    yag_ays
    yag_ays 2020/07/09
    “【機械学習】"やってはいけない” アンチパターンを共有しよう!”
  • Pythonのdatetimeを簡単に使いたいならpendulum - Qiita

    なにをするか pendulumの使い方を確認する Official GitHub pendulumってなに pythonのdatetimeライブラリも提供している時間や日付の取り回しを遥かに良くした便利ライブラリ。 用例 # 自動でAsia/Tokyoを設定してくれるのでnow関数は引数不要? >>> now = pendulum.now() >>> print(now.timezone) Timezone('Asia/Tokyo') # 2019年5月1日0時0分0秒をAsia/TokyoとUTCで表示 >>> in_utc = pendulum.datetime(2019, 5, 1, 0, 0, 0) >>> in_utc.timezone Timezone('UTC') >>> print(in_utc) 2019-05-01T00:00:00+00:00 >>> in_jpn =

    Pythonのdatetimeを簡単に使いたいならpendulum - Qiita
    yag_ays
    yag_ays 2020/07/01
  • 一足早い初夏のML怪談😱〜深層学習を使った画像の異常検知編 - Qiita

    1. はじめに テーマ「"やってはいけない” アンチパターンを共有しよう!」…色々とネタが思い当たります! 最近再び出会った、とある問題についてご紹介しようと思います。 2. それは画像の異常検知を解いていたときのこと… 画像の異常検知とは、正常な画像に対して異常な画像を検出して、例えば不良品の選別などに使う技術です。 図: MVTec ADウェブサイトより、緑 の正常サンプルに対する 赤 の異常サンプル例。 普通あまり「異常の画像」が発生しないので、「距離学習」という手法を使って「正常品じゃない度合い」を数値化して、この数値が大きいと「異常だ!」とみなす方法などがあります。 その一つ、記事「幾何変換を使った効果的な深層異常検知 (CNN画像分類モデル/教師なし/MVTec異常検知データセット)」で紹介した「DADGT」という略称の手法を試していたときのことです。 3. 学習〜やったね、A

    一足早い初夏のML怪談😱〜深層学習を使った画像の異常検知編 - Qiita
    yag_ays
    yag_ays 2020/06/26
  • 「Machine Learning Project Anti-Patterns」を読んだ感想 - Qiita

    Pre-printである「Machine Learning Project Anti-Patterns」を献頂いたので、レビューしたいと思います。あまり内容に深く触れると著作権的に怒られてしまうので、掻い摘んで個人的に面白かったりためになった所を紹介したいと思います(著作権確認済み) *いかがでしたか?は最後にかならず読んでね! 下記目次です はじめに プロジェクトの企画・提案 契約 プロジェクトマネジメント 採用 データ アルゴリズム モデル開発 評価・テスト 運用 おわりに 0. はじめに ガートナーの公表している「2020年のデータ/アナリティクス・テクノロジ・トレンド」[1] に記載されているように、より賢く、速く、信頼の置けるAI は今後キーとなるテクノロジーであろう。 しばし一般的に誤解されがちなのはAIそれ自体がビジネス的に成功を収めている、ということである。Google,

    「Machine Learning Project Anti-Patterns」を読んだ感想 - Qiita
    yag_ays
    yag_ays 2020/06/25
  • 爆速python-fire - Qiita

    Help us understand the problem. What are the problem?

    爆速python-fire - Qiita
    yag_ays
    yag_ays 2020/06/18
  • 家の中のセンサデータをRaspberryPiで取得しまくり、スーパーIoTハウスを実現 - Qiita

    はじめに 巷ではスーパシティ法によるデータ管理が話題ですが、 インドア派な私はシティの前にハウスで時代の波に乗ろう!と思い立ち、 大量のセンサデータをリアルタイムでダッシュボード表示する仕組みを作りました。 結論から言うと、センサデータを安定して見える化できるシステムが構築できたと感じています。 初心者の方でもわかりやすいよう、説明の飛躍のない記事作成を心がけたいと思います。 飛躍、間違い等あれば、ご指摘頂けるとありがたいです! 2021/12追記 さらに進化?したので以下の記事もご参照ください 必要なもの ・RaspberryPi(今回はPi3Model Bを使用) ・Python実行環境(今回はプリセットのPython3.7.3使用) ※RaspberryPiでのPython開発環境は試行錯誤の結果、こちらに落ち着きました ・Googleアカウント(スプレッドシートを使うのに必要) ・

    家の中のセンサデータをRaspberryPiで取得しまくり、スーパーIoTハウスを実現 - Qiita
    yag_ays
    yag_ays 2020/06/06
  • 日本の住所の正規化に本気で取り組んでみたら大変すぎて鼻血が出た。 - Qiita

    先日、弊社では Community Geocoder というサービスをリリースしました。 Community Geocoder 紹介記事 さて、このジオコーダーは、住所を正規化してそれを「大字町丁目コード」という12桁の数字に変換し、そのコードをファイル名として GitHub ページ上に大量においた JSON ファイルにアクセスして緯度経度を取得するということをやっています。 つまり、住所の正規化からコードに変換する部分がとても重要で、そもそも正規化に失敗してしまうとどうしようもないという仕様なんです。 さいわい先日経産省が公開した IMI コンポーネントツール である程度のことをやってくれるのですが(というかそうであることを期待したのですが)、いろいろ調べ始めると住所という仕組みはほんとに複雑で、Facebook で絡んでくださった @hfu さんいわくまさに「自然言語処理そのもの」であ

    日本の住所の正規化に本気で取り組んでみたら大変すぎて鼻血が出た。 - Qiita
    yag_ays
    yag_ays 2020/06/04
  • 2020年5月におけるPython開発環境の選択肢 - Qiita

    はじめに インストールすればすぐに書けて動かせるのが魅力のPythonですが、 実際に業務などでキチンと書こうと思ったら Pythonのバージョン管理ツール パッケージマネージャー エディター(IDE) リンター フォーマッター 型チェッカー くらいは最低限用意する必要があります。 しかしこの界隈、怒涛の勢いで日々新しいものがリリースされていて一概に「これがベストプラクティス」を提示するのが難しいんですよね。そこで今回は上記それぞれのツールについて「こんなものがあるよ」というのをご紹介したいと思います。 TLDR バージョン/パッケージ管理はpyenv + Pipenvがスタンダードだった時代は終わった VS CodeかVimを使うなら型解析にPyrightを導入するとよい テンプレートを用意しました 1. バージョン/パッケージマネージャー プロジェクトごとに異なるPythonのバージョ

    2020年5月におけるPython開発環境の選択肢 - Qiita
    yag_ays
    yag_ays 2020/05/27
  • Pythonの関数定義で引数にデフォルト値を持たせるときの注意点 - Qiita

    # 辞書を用意 times_in_PPAP = {"pen": 2, "pineapple": 1, "apple": 1} print "pen:\t", get(times_in_PPAP, "pen") print "apple:\t", get(times_in_PPAP, "apple") print "banana:\t", get(times_in_PPAP, "banana")

    Pythonの関数定義で引数にデフォルト値を持たせるときの注意点 - Qiita
    yag_ays
    yag_ays 2020/05/22
  • MLOps: 機械学習における継続的デリバリとパイプラインの自動化 を翻訳してみた - Qiita

    表1(翻訳者により追加) MLOpsにおいて、DevOpsから追加された項目 以下では,予測サービスとして機能するMLモデルのトレーニングと評価の代表的な手順を説明します. MLのためのデータサイエンスの手順 どのMLプロジェクトでも、ビジネスユースケースを定義して成功基準を確立した後、 MLモデルを番環境にデリバリする過程には次の手順が含まれます。 これらの手順は手動で完了することも、自動パイプラインで完了することもできます。 データ抽出: MLタスクのさまざまなデータソースから関連データを選択して統合します。 データ分析: 探索的データ分析 (EDA) を 実行して、MLモデルの構築に使用可能なデータを把握します。 このプロセスにより、次のことが起こります。 モデルが期待するデータスキーマと特性を理解します。 モデルに必要なデータの準備と特徴量エンジニアリングを特定します。 データの

    MLOps: 機械学習における継続的デリバリとパイプラインの自動化 を翻訳してみた - Qiita
    yag_ays
    yag_ays 2020/05/20
  • BERTの精度を向上させる手法10選 - Qiita

    はじめに 自然言語処理タスクでBERTをfinetuningして使うことが当たり前になってきました。Kaggleなどのコンペや精度要件がきつい案件を行う場合に少しでも精度を向上させたいというシーンが増えてくると考えられます。そこで、精度向上手法をまとめます。タスクとしては分類タスクを想定しています。 文字数調整 学習済みのBERTに入力可能な単語数は最大512個です。そのため、512単語以上のテキストを使用する場合は特別な工夫が必要となります。ここの処理方法の変更が精度向上に寄与することが多いので要チェックです。 例として次のテキストから6単語取得することを考えます(句点も1単語とします) 吾輩 / は / / で / ある / 。 / 名前 / は / まだ / ない / 。 1. Head-Tail 吾輩 / は / / で / ある / 。 / 名前 / は / まだ / な

    BERTの精度を向上させる手法10選 - Qiita
    yag_ays
    yag_ays 2020/05/15
  • pythonでjsonスキーマを使用する - Qiita

    はじめに JSON形式の通信データのやり取りをする際に、プログラムや装置に悪影響を及ぼさないために通信データのチェックをすると思います。 ただ、そのチェックを一から組むのは手間なのでチェックの設定とデータを与えるとチェックを実行してくれる仕組みが作られています。 チェックの設定はJSONスキーマ、チェック用のライブラリはpythonのjsonschemaを使用します。 JSONスキーマに関しては公式のサイトがあります。 環境 python:3.6.5 jsonschema:3.0.1 JSONスキーマによるチェック方法 JSON形式のデータをチェックするためのJSONスキーマを作成して、pythonに読み込みチェックする方法を記載します。 JSONスキーマの説明の記載 直接的にデータのチェックには使いませんが、作成したJSONスキーマがどのようなものなのかを表す情報を記載します。 key

    pythonでjsonスキーマを使用する - Qiita
    yag_ays
    yag_ays 2020/05/11
  • Pythonの文字列が標準でf文字列になる(かも) - Qiita

    はじめに Python言語サミット2020が4月の15日、16日の2日間で開かれました。これはPython実装の開発者(家のCPythonに加えてPyPyなども)が集まる会議で、単にプレゼンし合う場というよりは言語体や標準ライブラリの現状や今後に関する議論をして合意を目指すという会議とのこと。 今年はコロナウイルス蔓延の影響で、ご多分に漏れずオンライン開催となったそうですが、2日間の議題を見るとなかなか興味深いものが並んでいます。 全ての文字列をf文字列にする CPythonのパーサーをPEGベースの物にする (C)Pythonの仮想マシンの形式仕様記述 実装非依存のC言語拡張API CPythonのドキュメンテーション保守の変革 ライトニングトーク pip, PyPI そしてパッケージングに今後何を求める? 「マルチコアPythonプロジェクトの失敗を振り返る Pythonの型導入

    Pythonの文字列が標準でf文字列になる(かも) - Qiita
    yag_ays
    yag_ays 2020/05/06
  • 日本語解析ツール Konoha に AllenNLP 連携機能を実装した - Qiita

    はじめに konoha という形態素解析ライブラリを開発しています. このライブラリに対し, AllenNLP のインテグレーションを実装したので,今回はその紹介をします. この機能を利用することで,日語のテキストを分かち書きなどの前処理なしで allennlp train コマンドに渡せるようになります. AllenNLP は Allen Institute for Artificial Intelligence が開発している自然言語処理のライブラリです. AllenNLp は非常に強力なツールなのですが,日語のデータを扱いたい場合,予め形態素解析をしておく前処理が必要になることがあります. Spacy と Ginza のおかげで, Universal Dependencies (UniDic) が採用している単位であれば, AllenNLP で日語データを扱うことは可能そうです

    日本語解析ツール Konoha に AllenNLP 連携機能を実装した - Qiita
    yag_ays
    yag_ays 2020/05/03
  • BERTの日本語事前学習済みモデルをGoogle Colaboratoryで手軽に試す方法 - Qiita

    BERTとは 最近少し自然言語処理を勉強しています(仕事とかは、全く関係なくて個人的興味です)。としては、以下のがとても良かったです。 「Python自然言語処理入門」が自然言語処理の基礎にとても良かった の最後の方に、最新のディープラーニングを使った手法である「BERT」の解説があります。なので、BERTのモデル詳細に関してはや他のネット記事など参照ください。 では、理論面に関しては詳しく解説あるのですが、残念ながらBERTの発表が発刊直前だったとのことで、サンプルまではに盛り込まれていませんでした。というわけで、この記事ではBERTを使って簡単な自然言語処理を実践してみたいと思います。 BERTをGoogle Colaboratoryで手軽に試す 手っ取り早く試すために、この記事ではGoogle Colaboratory(Google Colab)を活用します。Google

    BERTの日本語事前学習済みモデルをGoogle Colaboratoryで手軽に試す方法 - Qiita
    yag_ays
    yag_ays 2020/05/01
  • 時系列データ関連の本10冊読んだので書評書く。+4冊更新 2021年11月 - Qiita

    の立ち位置について どんな軸で立ち位置を説明しようか悩みますが、今回は「対象読者レベル」と「時系列との関係」についての二軸で「独断と偏見」で位置づけしてみました。 はじめに 仕事データ分析に関して種々のデータに色々な手法を使ったりするのですが、分析していると時系列のデータが意外と多い。 数値予測や異常検知などは時刻と共に記録されていることが多いです。 この時系列データに関する知識を付けるために網羅的にを読んで、知識を付けようと思いました。 今回はその中で、「どのにどんな事が書いてあって、他のとの関係性は?」を書評にすることで、皆さんのの購入の手助けになればと思っています。 「このの立ち位置も調べて」 「時系列ならこの入れなアカン」 などあれば教えてください。 時系列分析のためのブックガイドと同じようなコンセプトの記事です。 時系列データに対する「python,Rどっちが

    時系列データ関連の本10冊読んだので書評書く。+4冊更新 2021年11月 - Qiita
    yag_ays
    yag_ays 2020/04/27