获取和运行本书代码 讨论区


#83

您的问题和我一样?


#84

是的 一样


#85

使用conda配置清华的源后,发现无法连接:是不是这个源有问题了啊?
conda config --prepend channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/


#86

conda env create -f environment.yml
执行上面的命令就出现连接错误,更换源也不行,有遇到这个情况的同学没?
Fetching package metadata …
CondaHTTPError: HTTP 000 CONNECTION FAILED for url https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/repodata.json
Elapsed: -

An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
ConnectionError(MaxRetryError(“HTTPSConnectionPool(host=‘mirrors.tuna.tsinghua.edu.cn’, port=443): Max retries exceeded with url: /anaconda/pkgs/free/linux-64/repodata.json (Caused by NewConnectionError(’<urllib3.connection.VerifiedHTTPSConnection object at 0x7ff890138eb8>: Failed to establish a new connection: [Errno 101] Network is unreachable’,))”,),)


#87

问题解决了:使用科大的源就可以了
conda config --prepend channels http://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --show 可以查看源是否配置

然后执行:
conda env create -f environment.yml

environment.yml文件中的mxnet>=0.11.1b20171003 可能会安装失败(网络连接不对),需要单独安装:
使用国内的镜像源:
pip install --pre mxnet-cu75 -i https://pypi.douban.com/simple # CUDA 7.5
pip install --pre mxnet-cu80 -i https://pypi.douban.com/simple # CUDA 8.0

安装即可。


#88

运行环境:ubuntu 16.04-64bit 1050ti, miniconda3
按照教程安装成功之后,运行kaggle-gluon-cifar10.md时(没有修改任何代码),当运行到开始训练的时候,就出现TypeError: object of type ‘Context’ has no len(), 跑其他的教程文档就可以。
运行代码如下:
ctx = utils.try_gpu()
num_epochs = 1
learning_rate = 0.1
weight_decay = 5e-4
lr_period = 80
lr_decay = 0.1

net = get_net(ctx)
net.hybridize()
train(net, train_data, valid_data, num_epochs, learning_rate, 
      weight_decay, ctx, lr_period, lr_decay)

出错信息:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-8-4a027c0014d4> in <module>()
      9 net.hybridize()
     10 train(net, train_data, valid_data, num_epochs, learning_rate, 
---> 11       weight_decay, ctx, lr_period, lr_decay)

<ipython-input-7-078f551cfa95> in train(net, train_data, valid_data, num_epochs, lr, wd, ctx, lr_period, lr_decay)
     28         time_str = "Time %02d:%02d:%02d" % (h, m, s)
     29         if valid_data is not None:
---> 30             valid_acc = utils.evaluate_accuracy(valid_data, net, ctx)
     31             epoch_str = ("Epoch %d. Loss: %f, Train acc %f, Valid acc %f, "
     32                          % (epoch, train_loss / len(train_data),

~/gluon-tutorials-zh/utils.py in evaluate_accuracy(data_iterator, net, ctx)
     97         data_iterator.reset()
     98     for batch in data_iterator:
---> 99         data, label, batch_size = _get_batch(batch, ctx)
    100         for X, y in zip(data, label):
    101             acc += nd.sum(net(X).argmax(axis=1)==y).copyto(mx.cpu())

~/gluon-tutorials-zh/utils.py in _get_batch(batch, ctx)
     87     else:
     88         data, label = batch
---> 89     return (gluon.utils.split_and_load(data, ctx),
     90             gluon.utils.split_and_load(label, ctx),
     91             data.shape[0])

~/miniconda3/lib/python3.6/site-packages/mxnet/gluon/utils.py in split_and_load(data, ctx_list, batch_axis, even_split)
    107     if not isinstance(data, ndarray.NDArray):
    108         data = ndarray.array(data, ctx=ctx_list[0])
--> 109     if len(ctx_list) == 1:
    110         return [data.as_in_context(ctx_list[0])]
    111 

**TypeError: object of type 'Context' has no len()**

#89

好像需要更新mxnet


#91

更新了也不行,应该是接口类型变了


#92

出现TypeError: object of type ‘Context’ has no len()
已经解决,看到是这个文件内容有修改:utils.py, 沐神今天更新了这个文件之后,再使用就好了。感谢沐神@mli


#93

原先已经安装过了anaconda,jupyter notebook。
根目录是Application/anaconda/…
所以这一次我直接下载了gluon-tutorial,放在了Application/gluon-tutorial下,然后解压。目录是Application/gluon-tutorial/gluon_tutorial_zh
接着有source activate gluon
然后在这个情况下,使用jupyter notebook命令,进入了8889端口(因为8888已经被我原先的jupyter notebook占用)

Question:

  1. 进入Application/gluon-tutorial/gluon_tutorial_zh,然后使用jupyter notebook命令,能进入教程(8889端口)。但此时不能import mxnet。
  2. 在1的基础上,必须每次都source activate gluon,然后再使用jupyter notebook命令,进入教程后,才能import mxnet。但此时又不能使用sklearn这些包了。
  3. 在其他路径下,使用jupyter notebook命令,打开的是我原先的jupyter notebook网页(8888端口)。
    请问可以融合吗

#94

docker很好用,谢谢!想问下如果要提交作业是不是必须用git?在视频里看到文档里有关于这个的介绍但是现在文档里找不到了。


#95

docker是不是只支持CPU?
用nvidia-docker进入后,GPU部分仍然运行不了。


#96

nvidia-docker应该支持GPU的


#97

在亚马逊的EC2中启动实例一直 失败,选择的是亚太区域的首尔,在启动实例的时候一直初始化失败,是因为limits中的p2.xlarge数量为0吗?把这个数量修改为1之后需要多久才可以使用啊?(很奇怪为什么默认是0)


#98

不太清楚…修改完limit以后应该就能用了,不过workload够大的话用p3比较划算


#99

默认都是0,需要去申请增加实例数量,amazon需要确保你知道这个事情,因为gpu的实例费用都比较高,这是为了防止有人误开了产生额外的费用,我之前申请用了三个工作日。


#100

使用的是cunda8.0
安装的是mxnet-cu80
cudnn 是cudnn v5.1
cuda的路径也设置了,请问出现这个错是什么原因,应该怎么办呢?
/lib64/libc.so.6: version `GLIBC_2.18’ not found (required by /data/usr/wjb/anaconda2/envs/gluon/lib/python3.6/site-packages/mxnet/libmxnet.so)


#101

我远程在linux上启动jupyter,之后再windows端打开notebook,显示“Unreadable Notebook: chapter_computer-vision/ssd.md UnicodeDecodeError(‘ascii’, ‘[\n “# SSD — \xe4\xbd\xbf\xe7\x94\xa8Gluon\n”’, 17, 18, ‘ordinal not in range(128)’)”,这个文件是utf8的,我浏览器编码也是utf8的,为什么会这样呢?
后来我把md文件转为GBK编码重新上传并把浏览器编码设为gbk,这次没有报错,但是现在是什么都没显示出来,什么提示也没有,应该是编码问题,但不知道该怎么解决呢?(BTW,我使用那个英文版是没问题)


#102

请问,32位linux通过源代码安装mxnet,import mxnet成功,但是运行jupyter notebook后,结果如下:

Traceback (most recent call last):
File “/usr/local/bin/jupyter-notebook”, line 11, in
sys.exit(main())
File “/usr/local/lib/python2.7/dist-packages/jupyter_core/application.py”, line 266, in launch_instance
return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
File “/usr/local/lib/python2.7/dist-packages/traitlets/config/application.py”, line 657, in launch_instance
app.initialize(argv)
File “”, line 2, in initialize
File “/usr/local/lib/python2.7/dist-packages/traitlets/config/application.py”, line 87, in catch_config_error
return method(app, *args, **kwargs)
File “/usr/local/lib/python2.7/dist-packages/notebook/notebookapp.py”, line 1368, in initialize
self.init_webapp()
File “/usr/local/lib/python2.7/dist-packages/notebook/notebookapp.py”, line 1188, in init_webapp
self.http_server.listen(port, self.ip)
File “/usr/local/lib/python2.7/dist-packages/tornado/tcpserver.py”, line 142, in listen
sockets = bind_sockets(port, address=address)
File “/usr/local/lib/python2.7/dist-packages/tornado/netutil.py”, line 197, in bind_sockets
sock.bind(sockaddr)
File “/usr/lib/python2.7/socket.py”, line 228, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 99] Cannot assign requested address

请问,这是哪里出错了呢?


#103

防火墙?这个看起来像是端口已经被占了,可以试下换个端口