2

Ubuntu1 と Ubuntu2 の 2 台のコンピューターがあります。Ubuntu1 は、データベース Sacred3 で MongoDB を実行します。U2 から U1 に ssh 経由で接続し、そこに実験結果を保存したいと考えています。

私が試したことと失敗したこと: 1. mongo DB をインストールし、sacre3 を作成しました。ssh キーを持っています。/etc/mongod.conf追加して編集しました:

# network interfaces net: port: 27017 bindIp: 0.0.0.0

次に、ポート転送を有効にしました

ssh -fN -i ~/.ssh/sacred_key-pair.pem -L 6666:localhost:27017 ubuntu@106.969.696.969// (適切な ip を使用)

したがって、私が理解しているように、localhost:6666 に接続すると、106.969.696.969:27017 に転送されます。

その後、Sacred フレームワークを使用した実験を実行しています。

python exp1.py -m localhost:6666:sacred3

これにより、リモートDBに実験が書き込まれますが、私は次のようになります:

pymongo.errors.ServerSelectionTimeoutError: localhost:27017: [Errno 111] Connection refused

それは私を怒らせています。助けてください!

#

以下の exp1.py の内容:

from sacred import Experiment
from sacred.observers import MongoObserver

ex = Experiment()
ex.observers.append(MongoObserver.create())

def compute():
    summ = layer1 - layer2
    return summ


@ex.config
def my_config():

    hp_list = [{"neurons" : [32,32] , "dropout": 1.0},
            {"neurons" : [32,32] , "dropout": 0.7},
            {"neurons" : [32,16] , "dropout": 0.9},
            {"neurons" : [24,16] , "dropout": 0.9},
            {"neurons" : [24,8] , "dropout":  0.9},
            {"neurons" : [16,8] , "dropout":  0.9},
            {"neurons" : [64,64] , "dropout": 0.9},
            {"neurons" : [64,64] , "dropout": 0.7},
            {"neurons" : [64,32] , "dropout": 0.9},
            {"neurons" : [64,32] , "dropout": 0.7},
            {"neurons" : [48,32] , "dropout": 0.9},
            {"neurons" : [48,32] , "dropout": 0.7},
            {"neurons" : [48,16] , "dropout": 0.9},
            {"neurons" : [48,16] , "dropout": 0.7},]

    n_epochs = 2 


@ex.capture
def training_loop(hp_list, n_epochs):
    for j in hp_list:
        print("Epoch: ", n_epochs)
#       layer1 = random.randint(18,68)
#       layer2 = random.randint(18,68)
#       layer3 = random.randint(18,68)
        layer1 = j["neurons"][0]
        layer2 = j["neurons"][1]
        dropout_ratio = j["dropout"]


        print("WHATS UUUUUP",j, layer1, layer2, dropout_ratio, sep="_")
        # vae_training_loop_NN_DO(i, layer1, layer2, dropout_ratio )


@ex.automain
def my_main():
    training_loop()

4

1 に答える 1