Example #1
0
                    help="batchを何回学習させる度にgeneratorの出力を保存するか")
parser.add_argument("--network_bias",
                    type=bool,
                    default=True,
                    help="networkにbiasを入れるかどうか。True/False")
parser.add_argument("--data_seed",
                    type=int,
                    default=0,
                    help="Dataの作成に用いる乱数のseed")
opt = parser.parse_args()

phi = [0.3, -0.4, 0.2, -0.5, 0.6, -0.1, 0.1]

p = len(phi)

Data = tsModel.SARIMA(a=phi, N=1400, random_seed=opt.data_seed, mu=0, sigma=2)
Data = torch.tensor(Data, dtype=torch.float)
Data = torch.tensor(Data)
plt.figure(figsize=(13, 8))
plt.plot(Data)
plt.title("ARモデルの人工データその" + str(opt.data_seed) + "\n$\phi^{\\ast}=" +
          str(phi) + ", \sigma^{\\ast}=2$")
plt.savefig("images/AR7モデルの人工データその{0}.png".format(opt.data_seed))
plt.close()

Data = Data.view(1, -1)
trainData = Data[:, :900]
valData = Data[:, 900:1000]
testData = Data[:, 1200:]

trainMatrix = []
# 真のモデルのパラメータ
phi_ast = [0.3, -0.4, 0.2, -0.5, 0.6, -0.1, 0.1]
p_ast = len(phi_ast)
mu_ast = 0
sigma_ast = 2

# データセットの作成
trainT = 1000
n = 100
data_index = range(n)
trainDataSets = []
for seed in data_index:
    trainData = tsModel.SARIMA(a=phi_ast,
                               N=trainT,
                               random_seed=seed,
                               mu=mu_ast,
                               sigma=sigma_ast)
    trainDataSets.append(trainData)

# 学習する推定モデルの形状や学習方法なんかを決定します
# 学習時のハイパラの決定(入力を受け付ける)
parser = argparse.ArgumentParser()
# ランダムシードについて
parser.add_argument("--generator_seed",
                    type=int,
                    default=0,
                    help="generatorのパラメータの初期値のシード")
parser.add_argument("--discriminator_seed",
                    type=int,
                    default=0,
Example #3
0
if cuda:
    gpu_id = input('使用するGPUの番号を入れてください : ')
    os.environ["CUDA_VISIBLE_DEVICES"] = gpu_id
device = torch.device('cuda:' + gpu_id if cuda else 'cpu')

torch.manual_seed(opt.generator_seed)
generator = models.LinearGenerator(p=opt.p, input_dim=1, is_bias=False)

torch.manual_seed(opt.discriminator_seed)
discriminator = models.Discriminator(
    q=0, discriminator_hidden_unit=opt.discriminator_hidden_unit)

# 人工データの作成
Data = tsModel.SARIMA(a=[0.3, -0.4, 0.3, -0.4, 0.3, -0.4, 0.3],
                      N=1400,
                      random_seed=opt.data_seed,
                      sigma=2)
Data = torch.tensor(Data, dtype=torch.float)
plt.figure(figsize=(13, 8))
plt.plot(Data)
plt.savefig(path + "/images/AR7モデルの人工データその{0}.png".format(opt.data_seed))
plt.close()

Data = Data.view(1, -1)

trainData = Data[:, :1000]
valData = Data[:, 1000:1200]
testData = Data[:, 1200:]

trainMatrix = []
for i in range(trainData.shape[1] - (opt.p + 1)):