4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

熟年データサイエンティストに文句を言わせないテクニック

Posted at

記事を書こうと思った経緯

自社のお仕事とは別に、某超大手企業様の中でもAI関連のシステムをよく開発してます。
もう今年に入って開発したものだけで、3つ?4つ?くらい作ってきました。

同じチームのメンバーに、熟年(熟練?)のデータサイエンティストの方がいて、よく開発の方針で揉めますw

課題

AIのレコメンドAPIを開発する中で、redisや、datastoreなど、必要なモジュールを共通utilsの中で使っています。

これに対し

熟年エンジニア:
データ整形や、ベクトル化する関数は使いたい。
それ以外のredis関連やdatastore関連のモジュールはインストールしていないからエラーが発生するため、ファイルを分けてほしい

:
同じプロジェクトなんだから、pip install -r requirements.txtやってくださいよ

熟年エンジニア:
私は使わないから、インストールしたくない

:
なんて協調性のない人なんだ・・・。。。。。」

という、理不尽な問題が発生しました

解決方法

import redis

def get_state(id):
    redis = redis.Redis(host='localhost', port=6379, db=0)
    return redis.get(id)

def get_vector(xxx):
    ...

これをget_vectorだけimportしてもエラーとなる。


def get_state(id):
    import redis
    redis = redis.Redis(host='localhost', port=6379, db=0)
    return redis.get(id)


def get_vector(xxx):
    ...

と書くと、get_vectorだけimport可能になる。

フレームワークの中を覗いてると、たまにこの記述見かけますよね

相互参照の回避や、インストールしてない人対策などに使えるので、~~あまり必要ないかもしれませんが、~~頭の片隅に覚えておくと役に立つ時がくるかもしれません・・・・w

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?