
[code]

    import sys
    sys.path.append('..')
    from optimizer import SGD
    from trainer import Trainer
    import numpy as np
    from two_layer_net import TwoLayerNet
    
    max_epoch = 4395
    batch_size = 500
    hidden_size = 2000
    learning_rate = 1.0
    
    x,t = np.genfromtxt(fname="1ghdenn.csv",encoding='UTF-8',dtype=None,delimiter='\t')
    model = TwoLayerNet(input_size = 4395,hidden_size = hidden_size,output_size = 24)
    optimizer = SGD(lr = learning_rate)
    
    trainer = Trainer(model,optimizer)
    trainer.fit(x,t,max_epoch,batch_size,eval_interval = 10)
    trainer.plot()
    
[/code]

このコードを打つとタイトルのようなエラーが出てきます。  
どなたか解決法をご教授願います。


CC BY-SA 4.0
2018-12-20T07:55:59.593
51387
2019-07-01T14:01:50.210
2018-12-20T07:59:04.733
19110
31532
question
python python3
ValueError: too many values to unpack (expected 2)の解決法(python3.7)


"unpack"
というのは「[シーケンスのアンパック](https://docs.python.org/ja/3/tutorial/datastructures.html#tuples-
and-sequences)」のことであり、今回のエラーは「`np.genfromtxt()` 関数の返り値を `x, t =
np.genfromtxt(なんとかかんとか)` という形で 2 つの変数にアンパックして代入しようとしているけど、右辺をアンパックすると 2
つより多くなってしまうよ」という意味です。

[`np.genfromtxt()`](https://docs.scipy.org/doc/numpy-1.15.1/reference/generated/numpy.genfromtxt.html)
関数の返り値は NumPy array なので、基本的には今回のような書き方ではなく、一度 array
として変数に受け取って、それから加工する形が一般的だと思います。

[code]

    data = np.genfromtxt(なんとかかんとか)
    
[/code]


CC BY-SA 4.0
2018-12-20T08:13:03.657
51388
2018-12-20T08:13:03.657
19110
51387
answer