ハゲタカ出版社チェックはしておきましょう
ハゲタカ出版社
金を出してくれたら,論文誌に掲載してやるよという出版社. 論文誌や国際会議に優劣を付けてはいけないという善意に漬け込んだ悪い商売をしているようで, 何も知らない人からみたら,論文誌1件は1件なのだ. 研究者界隈から見たら,嘲笑の的ではあるのだが.
どうやってチェックするか
現在はここでチェックするのが一番.2011年くらいからリストを更新し続けている.
少しサンプルを見てみる
WASET (リンクは貼らない)
有名なハゲタカ出版社のWASETです. 見てください,この分野の網羅率. ありとあらゆる国際会議を開催(笑)しています. 分野を絞ってしまっては,稼ぎが落ちてしまうことからこうせざるを得ないのでしょう. 見るからに怪しい...
iaster (リンクは貼らない)
これもまたすごいです.分野という分野を網羅しているのではないでしょうか. それになんだか古めかしいUIも香ばしいですね.どんな分野でもOK,みたいなのは怪しいですね. しかし,ここは Impact Factor(IF)が4.0を超えた雑誌として掲載されています. IFが偽装されたらそれこそ何が悪いのか決めようがないです.
試しにwaset 賞 -wasteで検索してみる
-waste
は検索の都合上の問題で,Googleがスペルミスかな?と気を利かせてくれていたので.
学生の頃から情報系で論文誌3ヶ月に1本とかやってのけていた人. WASETは箔付けに駆け込み的に通したんじゃないでしょうかね. 服部 峻(室蘭工業大学)
国際会議をWASETで稼ぐ. 藤田 素弘 - 研究者 - researchmap
WASETで座長とか色々と ICCSP 2011 in Phuket
科研費の成果としてWASET https://kaken.nii.ac.jp/file/KAKENHI-PROJECT-23593135/23593135seika.pdf
自信満々のWASET http://home.hiroshima-u.ac.jp/aerosol/event.html
かっこいい www.yamanashi.ac.jp
WASETの賞も1件に数えられるんだよな
https://www.hosei.ac.jp/documents/gaiyo/johokokai/kyoiku/kenkyu/2_97.pdf
文献を列挙しているところにWASETがあったら拾ってきたが,他に挙げた文献がハゲタカ出版かは確認していない.
科学をダメにするハゲタカ出版社
件数稼ぎが,常勤職を手に入れるためにあまりにも必要になってしまった今,不当に稼いだ方が 真剣にやって研究成果が少ないよりもバカを見ない....のか?
ちゃんと研究やってきた人が報われない世界になるのだけは避けなければいけないでしょう.
学生でもハゲタカ出版社に出して賞もらった方が,奨学金免除になりやすい,なんてなったらもうお終いです. ただでさえ,情処全国大会とかEIC全国大会は賞のバラマキだというのに.
pythonのzipの扱いは注意
事象
例えば, 下のようなプログラムがあったとしよう. ここで期待されるのは, i, jが標準出力されることである.
for i, j in zip(list_A, list_B): print(i, j)
しかし, なぜかi, jの中身がprintされない...なぜだ...となった.
原因
zipは短い方のリストに合わせてしまうため, 片方が空リスト[]だと, forが初手でループを終えてしまい, for以下が実行されない.
for i, j in zip(list_A, []): print(i, j)
こうなってしまっているとき, zipはlist_Aがどれだけ長かろうが空リストの数しかイテレーションをしない. つまり, forが回らない.
空リストを渡さなければ良いわけだが, 空リストを与える可能性は少なからず存在し, 例えば境界条件を与えるときとかの挙動を見るときなど. こういうときに見落としがちになる.
対策
- lenによる判定を追加する
from itertools import zip_longest
を使う
len によるリストの長さ判定
これは言わずもがなである. 空じゃなければ, for文を回せば良い.
itertoolsのzip_longest を使う
ただのzip は, 短い方に合わせてしまう
A = [1, 2, 3, 4, 5] B = [6, 7, 8] zip(A, B) --> zip([1, 2, 3], [6, 7, 8]) 短いリストBの長さ3に合わせてしまう ※書き方は正しくないけれど,こういうこと
しかし, zip_longestは, 長い方のリストに合わせ, 足りない分はNone
で埋めてくれる.
pycharmでGit Pushができなくなってしまったら, 設定を見直す
pycharmでGitを使ったPushができなくなってしまう現象
バージョンを上げたあたりから, GitでPushやPull等, リモートを通信する機能が すべて使えなくなってしまった.
解決するには設定を見直す
Gitの設定で, SSH executable
を Native
から Built-in
に変える.
pycharm のNativeでは鍵の置き場とか何も指定していないので認証エラーがでてしまうのでしょう.
matplotlibで目盛りと目盛線を消す方法
目盛りを消す -> 表示させない
位置指定ができる
(略) plt.tick_params(labelbottom=False, labelleft=False, labelright=False, labeltop=False)
目盛線を消す
(略) plt.tick_params(color='white')
これは白にしたら見えないだろ,という戦法.本筋ではないが.
Kerasでモデルのロードがしくってしまったら
エラー文
ValueError: Optimizer weight shape (1024,) not compatible with provided weight shape (165, 1024)
(1024とかは埋め込み適当な数字なのであしからず.)
モデルを読み込むときにエラーが出てしまう....
model.load()
でエラーが出る....
といったところ.
モデルの再利用ができないと先に進めないこともあるので困ってしまう.
解決
load_model fails to load optimizer · Issue #3964 · fchollet/keras · GitHub
ソースは↑.的外れな解決法があったりするので注意が必要だが,概ねバージョンの問題.
要するに pip install -U Keras
で解決してしまう.
Kerasのバージョンが違う場合に読み込みエラーが出るのかと思っていたら,そうでもないようだ.現状版 2.0.8
では解決されている.自身のKerasバージョンをチェックすべし.
pip freeze
or conda list
等で調べてみよう. 2.0.0
〜 2.0.2
のあたりだったら最新版にアップデートしないとダメ.
mongodb で空のドキュメントを含むレコードを見つけるクエリ
MongoDB v3.4.5であるキーの中身が空のリストになっているレコードを見つけたい
{ _id: xxxxxxx, Nakami: [1,2,3], } { _id: xxxxxx1, Nakami: [] }
こういった具合。ちなみにNakamiにはindexをふっていない前提。
さていくつか方法があるのでみていきたい。 実行時間が速い順に並んでいる。
TEMP.find( { Nakami: { $size: 0} } )
TEMP.find( { Nakami: []} )
TEM.find( { $where : "thie.Nakami.length == 0" } )
最後の $where
を使うのはだいぶ効率が悪い。今は $size
を使うのがいいだろう。
参考ページ
mongodb - Query for documents where array size is greater than 1 - Stack Overflow
Find MongoDB records where array field is not empty (using Mongoose) - Stack Overflow
サーバーのディレクトリをマウントする
鯖のとあるディレクトリをマウントしたい(しかも手軽に)
NASとかそういうの別にいいので,さっさと読み出し権限だけでいいから欲しい.
という場合.
主に以下にあるわけですが,簡単に書くと, 別サーバのフォルダをマウントする|名古屋で働くエンジニアの覚書
mount -t nfs [IP address]:[マウントしたいディレクトリ] [マウントする手元のディレクトリ]
となって,つまり
mount -t nfs 192.168.0.XXX:/nas1/mydata /mnt/nas1/mydata
といったところだ. マウント先のディレクトリは作っておかないと上手くいかないので注意.