我有一个深度学习类的任务,他们提供了一个Jupyter笔记本作为基本代码,事情是在运行数据导入和重塑后,jupyter笔记本通过"内存错误",经过一些分析后试图编译普通.py文件中的相同代码,一切运行良好.
问题是我需要(最好)使用Jupyter笔记本作为开发的基础,因为这种任务更具交互性.
<ipython-input-2-846f80a40ce2> in <module>()
2 # Load the raw CIFAR-10 data
3 cifar10_dir = 'datasets\\'
----> 4 X, y = load_CIFAR10(cifar10_dir)
C:\path\data_utils.pyc in load_CIFAR10(ROOT)
18 f = os.path.join(ROOT, 'cifar10_train.p')
19 print('Path: ' + f );
---> 20 Xtr, Ytr = load_CIFAR_batch(f)
21 return Xtr, Ytr
22
C:\path\data_utils.pyc in load_CIFAR_batch(filename)
10 X = np.array(datadict['data'])
11 Y = np.array(datadict['labels'])
---> 12 X = X.reshape(-1, 3, 32, 32).transpose(0,2,3,1).astype("float")
13 return X, Y
14
MemoryError:
Run Code Online (Sandbox Code Playgroud)
错误发生在第12行,我知道这是一个消耗内存的分配,但这并不意味着4 GB的RAM不足以满足,并且当代码在Jupyter之外运行时没有出现问题.
我的猜测是它与Jupyter或Chrome的内存限制有关,但我不确定,也不知道如何解决它.
顺便说说:
python deep-learning jupyter jupyter-notebook jupyter-console
由于列名很长,无论设置什么选项,DataFrame 都会以非常混乱的形式显示。
信息:我在 Jupyter QtConsole、pandas 0.20.1 中,在启动时指定了以下相关选项:
pd.set_option('display.max_colwidth', 20)
pd.set_option('expand_frame_repr', False)
pd.set_option('display.max_rows', 25)
Run Code Online (Sandbox Code Playgroud)
问题:如果需要,如何截断 DataFrame,而不是将列换行到下一行,同时保留expand_frame_repr=False?
这是一个例子。同样,问题不取决于列数,而是取决于列的长度。
这不会引起问题:
df = pd.DataFrame(np.random.randn(1000, 1000),
columns=['col' + str(i) for i in range(1000)])
Run Code Online (Sandbox Code Playgroud)
具有长列名的相同 DataFrame 会导致我正在讨论的问题:
df = pd.DataFrame(np.random.randn(1000, 1000),
columns=['very_long_col_name_'
+ str(i) for i in range(1000)])
Run Code Online (Sandbox Code Playgroud)
有什么方法可以使第二个输出与我缺少的第一个输出一致?(通过指定一个选项,而不是通过.iloc每次我想查看时使用。)
当我尝试跑步时
$ jupyter qtconsole
Run Code Online (Sandbox Code Playgroud)
控制台显示,并显示以下消息
Kernel died, restarting
________________________
Kernel died, restarting
________________________
Kernel died, restarting
________________________
Kernel died, restarting
________________________
Kernel died, restarting
________________________
Run Code Online (Sandbox Code Playgroud)
继续。
尝试$ jupyter qtconsole --debug没有打印其他任何东西,也没有添加
c.Application.log_level = 0
c.Session.debug = True
Run Code Online (Sandbox Code Playgroud)
进入 $USERHOME/.jupyter/jupyter_qtconsole_config.py
另外,我什么也没找到,$USERHOME/.ipython/profile_default/log/周围也没有其他目录。
自上次启动以来,我的配置没有任何改变jupyter-qtconsole。
我至少如何找出内核出了什么问题?Jupyter中肯定有一些选项可以获取内核的STDERR输出,以查看导致异常的异常吗?
运行 jupyter notebook 时出现此错误。任何的想法?
An invalid notebook may not function properly. The validation error was:
Notebook validation failed: ['outputPrepend', 'outputPrepend', 'outputPrepend', 'outputPrepend', 'outputPrepend'] has non-unique elements:
[
"outputPrepend",
"outputPrepend",
"outputPrepend",
"outputPrepend",
"outputPrepend"
]
Run Code Online (Sandbox Code Playgroud) 我在使用此处RichJupyterWidget提供的小部件实现的PyQt5应用程序中有一个嵌入式Jupyter控制台.
控制台集成本身工作正常,Jupyter控制台嵌入在Widget中,Python代码可以执行,结果显示在控制台本身.
但是,我需要做的是每当我运行一些返回Pandas的代码时, DataFrame它会在TableView控制台外部显示它.
这是我的实现的一个工作示例:
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication
from qtconsole.inprocess import QtInProcessKernelManager
from qtconsole.rich_jupyter_widget import RichJupyterWidget
class IPythonConsole:
def __init__(self):
self._kernel_manager = None
self._kernel = None
self._kernel_client = None
self.start()
@property
def kernel_manager(self) -> QtInProcessKernelManager:
return self._kernel_manager
@property
def kernel(self):
return self._kernel
@property
def kernel_client(self):
return self._kernel_client
def start(self):
self._kernel_manager = QtInProcessKernelManager()
self._kernel_manager.start_kernel()
self._kernel = self._kernel_manager.kernel
self._kernel.gui = 'qt'
self._kernel_client = self._kernel_manager.client()
self._kernel_client.start_channels()
def stop(self):
self._kernel_client.stop_channels()
self._kernel_manager.shutdown_kernel()
class IPythonWidget(RichJupyterWidget):
"""RichIPythonWidget …Run Code Online (Sandbox Code Playgroud) 我有一个运行 Python/JupyterLab 和我所有依赖项的容器。我从以下开始:
docker run --rm -it -p 8888:8888 \
--mount type=bind,source=/project,target=/work \
python-3.9.1-jupyterlab
Run Code Online (Sandbox Code Playgroud)
它启动 jupyterlab,我可以通过浏览器连接。一切都很好。
现在我正在尝试使用 VSCode 作为 Python IDE。将 VSCode 中的 shell 附加到我的容器很有帮助,这样我就可以在一个地方运行 iPython 并编辑我的代码。我从 VSCode Docker 扩展运行“附加外壳”:
docker exec -it {containerID} bash <
Run Code Online (Sandbox Code Playgroud)
然后我打开一个 iPython shell:
docker exec -it {containerID} bash <
Run Code Online (Sandbox Code Playgroud)
我看不到任何情节。我试过用不同的后端渲染它们(默认是“agg”)。我认为这是因为内核 - 在容器上执行 - 无法使用主机图形(即,内核可以渲染绘图但无法显示它们)。也许我没有正确映射主机/容器端口。
有人可以就尝试的事情提供一些指导吗?这是我正在使用的容器的图像。
matplotlib ipython docker visual-studio-code jupyter-console
我的文件夹结构是这样设置的:
- project/
- notebooks/
- notebook1.ipynb
- src/
- module1.py
- __init__.py
- data/
- data.csv
Run Code Online (Sandbox Code Playgroud)
这样我就可以将我的源代码与实际分析分开。我希望能够从中导入模块src并在其中使用它们notebook1,但是每当我打开时notebook1,Jupyter 决定将我的工作目录更改为 inside notebooks。
这使我的导入更难维护,因为我必须相对于 Jupyter 的心血来潮导入东西 - 有什么方法可以修复cwd它project,无论我打开什么文件?
我浏览了文档和我的~/.jupyter/jupyter_notebook_config.py, 文件,但没有发现任何可以帮助我的东西。
编辑:我不想在每个脚本的顶部使用os.chdir或cd。
谢谢你的帮助
我想知道如何在Jupyter控制台中使用类似vi的键绑定-不仅与ipython一起使用,而且与任何内核一起使用。
先前的答案表明这对于ipython是可能的。因此,也许有一些标志或配置文件可以在其中指定。Jupyter似乎不具有与ipython相同的功能,ipython profile并且提供与ipython中相同的标记变量不起作用。
我还没有在 github 或 jupyter 帮助中找到答案。
TL;DR:我需要一个命令行来告诉我与魔法相同的事情%connect_info,特别是 line Connect with --existing kernel-4e4c970e-cccb-2485-a09d-d56efd10e278.json。
我当前的设置是从工作服务器启动 jupyter 笔记本。然后我使用 SSH 连接到该服务器,并且可以通过附加控制台在同一内核中工作:
jupyter console --existing kernel-4e4c970e-cccb-2485-a09d-d56efd10e278.json
Run Code Online (Sandbox Code Playgroud)
(在tmux++设置中,顺便说一句,我经常发现这更方便)vim。slimux
问题是:
那么是否有一个命令可以从服务器上的 shell 运行,该命令会列出正在运行的内核、 哪个笔记本启动了它们,以及理想情况下是否附加了控制台?
错误:内核似乎已死亡。它会自动重新启动。这是特定于几行代码的
当我尝试时,print(3)我在控制台中看到输出,3但是当我尝试运行以下代码时,它会给我一个错误。它工作得很完美,突然抛出这些奇怪的错误。
我尝试重新启动、重新安装和升级所有库,但没有任何效果。
import numpy as np
versicolor_petal_length = np.array([4.7, 4.5, 4.9, 4., 4.6, 4.5, 4.7, 3.3, 4.6, 3.9, 3.5,
4.2, 4., 4.7, 3.6, 4.4, 4.5, 4.1, 4.5, 3.9, 4.8, 4.,
4.9, 4.7, 4.3, 4.4, 4.8, 5., 4.5, 3.5, 3.8, 3.7, 3.9,
5.1, 4.5, 4.5, 4.7, 4.4, 4.1, 4., 4.4, 4.6, 4., 3.3,
4.2, 4.2, 4.2, 4.3, 3., 4.1])
versicolor_petal_width = np.array([1.4, 1.5, 1.5, 1.3, 1.5, 1.3, 1.6, 1., 1.3, 1.4, 1.,
1.5, 1., 1.4, …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 jupyter 实验室中添加扩展。我转到扩展选项卡并单击扩展上的“安装”。几秒钟后我收到一个弹出窗口说Build failed with 500, please run 'jupyter lab build' on the server for full output

谁能告诉我如何解决它或至少找到与该错误相关的日志。
我有两台通过局域网连接的机器.其他系统的IP地址是192.1xx.xx我想在我的机器上运行jupyter ipython查询,这可以在他的机器上执行.在ipython笔记本的开头,有一个黑屏,其中包含:
[I 11:12:52.802 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
Run Code Online (Sandbox Code Playgroud)
我可以将其更改为我指定的位置吗?
当我从 Jupyter 笔记本环境中删除文件时,磁盘空间没有释放。我删除了大约 40GB 的文件,文件从列表中消失了,甚至从ls -a,但是df -h表明什么也没发生。此外,我使用这些文件杀死了所有进程,甚至重新启动了系统。
当我使用rm一切删除文件时,一切都很好。我怎样才能释放空间,或恢复 thos 文件以使用 删除它们rm?
jupyter-console ×13
jupyter ×8
python ×6
python-3.x ×3
anaconda ×1
docker ×1
ipython ×1
jupyter-lab ×1
matplotlib ×1
pandas ×1
pyqt5 ×1
qtconsole ×1
ssh ×1
vi ×1
vim ×1