progress: added tensorflow container and shared data directory
This commit is contained in:
parent
b728d59bbc
commit
1013e80286
57
load_market_data.sh
Executable file
57
load_market_data.sh
Executable file
@ -0,0 +1,57 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
date=${1}
|
||||
if [ "${date}" == "" ] ; then
|
||||
date="yesterday"
|
||||
fi
|
||||
|
||||
SourceHost=cryptoval3.cvtt.vpn
|
||||
SourceUser=cvtt
|
||||
SourceRootDir=/localdisk/cvtt/archive/md_archive
|
||||
SourceFile=$(date -d ${date} "+%Y%m%d.mktdata.db")
|
||||
SourceFileZip="${SourceFile}.gz"
|
||||
SourceFilePath=$(date -d ${date} "+${SourceRootDir}/%Y/%m/${SourceFileZip}")
|
||||
|
||||
TargetDir="/opt/jupyter_gpu/data/crypto_md"
|
||||
TargetFile=$(date -d ${date} "+%Y%m%d.mktdata.ohlcv.db")
|
||||
TargetFilePath="${TargetDir}/${TargetFile}"
|
||||
|
||||
echo ${SourceFile}
|
||||
tmp_dir=$(mktemp -d)
|
||||
|
||||
function cleanup {
|
||||
cd ${HOME}
|
||||
rm -rf ${tmp_dir}
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
function download_file {
|
||||
|
||||
Cmd="rsync"
|
||||
Cmd="${Cmd} -ahv"
|
||||
if tty -s; then
|
||||
Cmd="${Cmd} --progress=info2"
|
||||
fi
|
||||
Cmd="${Cmd} ${SourceUser}@${SourceHost}:${SourceFilePath} ${tmp_dir}/"
|
||||
echo ${Cmd}
|
||||
eval ${Cmd}
|
||||
ls -lh ${tmp_dir}
|
||||
Cmd="gunzip ${tmp_dir}/${SourceFileZip}"
|
||||
echo ${Cmd} && eval ${Cmd}
|
||||
ls -lh ${tmp_dir}
|
||||
|
||||
rm -f ${TargetFilePath}
|
||||
touch ${TargetFilePath}
|
||||
|
||||
for table in bnbfut_ohlcv_1min bnbspot_ohlcv_1min coinbase_ohlcv_1min
|
||||
do
|
||||
Cmd="sqlite3 ${tmp_dir}/${SourceFile} \".dump ${table}\" | sqlite3 ${TargetFilePath}"
|
||||
echo ${Cmd}
|
||||
eval ${Cmd}
|
||||
done
|
||||
chmod 600 ${TargetFilePath}
|
||||
ls -lh ${TargetFilePath}
|
||||
|
||||
|
||||
}
|
||||
download_file
|
||||
2
tensorflow/.env
Normal file
2
tensorflow/.env
Normal file
@ -0,0 +1,2 @@
|
||||
ROOT_DIR=/opt/jupyter_gpu/tensorflow
|
||||
JUPYTER_PORT=9999
|
||||
31
tensorflow/Dockerfile
Normal file
31
tensorflow/Dockerfile
Normal file
@ -0,0 +1,31 @@
|
||||
# Use the official TensorFlow image with GPU support
|
||||
FROM tensorflow/tensorflow:latest-gpu-jupyter
|
||||
|
||||
# Install necessary packages
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
build-essential \
|
||||
curl \
|
||||
ca-certificates \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN useradd -m -s /bin/bash oleg
|
||||
|
||||
RUN mkdir -p /workspace/tf_cache
|
||||
|
||||
# Install packages
|
||||
RUN pip install tensorflow-gpu
|
||||
RUN pip install jupyterlab
|
||||
RUN pip install plotly
|
||||
|
||||
# Install additional applications
|
||||
RUN apt update
|
||||
RUN apt-get install graphviz -y
|
||||
|
||||
# Set the working directory
|
||||
WORKDIR /workspace
|
||||
|
||||
# Expose the port for JupyterLab
|
||||
EXPOSE ${JUPYTER_PORT}
|
||||
|
||||
# Command to run JupyterLab
|
||||
CMD ["jupyter-lab", "--ip=0.0.0.0", "--port=9999", "--no-browser", "--allow-root", "--NotebookApp.token=''"]
|
||||
25
tensorflow/docker-compose.yml
Normal file
25
tensorflow/docker-compose.yml
Normal file
@ -0,0 +1,25 @@
|
||||
version: '3.8'
|
||||
|
||||
#==================================================
|
||||
# Relies on the file `.env` content for varables:
|
||||
# ROOT_DIR
|
||||
# JUPYTER_PORT
|
||||
#==================================================
|
||||
|
||||
services:
|
||||
jupyter:
|
||||
user: "oleg"
|
||||
build: ${ROOT_DIR}
|
||||
image: cvtt/jupyter_gpu_tf:v1.0.2
|
||||
container_name: jupyter_gpu_tf
|
||||
runtime: nvidia
|
||||
environment:
|
||||
- JUPYTER_ENABLE_LAB=yes
|
||||
- TF_CACHE_DIR=/workspace/tf_cache
|
||||
volumes:
|
||||
- ${ROOT_DIR}/notebooks:/workspace
|
||||
- ${ROOT_DIR}/jupyter_settings/user-settings:/home/oleg/.jupyter/lab/user-settings
|
||||
- ${ROOT_DIR}/jupyter_settings/workspaces:/home/oleg/.jupyter/lab/workspaces
|
||||
ports:
|
||||
- "${JUPYTER_PORT}:${JUPYTER_PORT}"
|
||||
shm_size: "8gb"
|
||||
1221
tensorflow/notebooks/Loading Market Data Example.ipynb
Normal file
1221
tensorflow/notebooks/Loading Market Data Example.ipynb
Normal file
File diff suppressed because it is too large
Load Diff
75
tensorflow/notebooks/Testing GPU.ipynb
Normal file
75
tensorflow/notebooks/Testing GPU.ipynb
Normal file
@ -0,0 +1,75 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"id": "000d047d-3dfd-48cb-a3c3-bd1ad7c78b71",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"TensorFlow version: 2.16.1\n",
|
||||
"GPUs detected: 1\n",
|
||||
" - /physical_device:GPU:0\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"2024-06-03 21:52:43.785816: I external/local_xla/xla/stream_executor/cuda/cuda_executor.cc:998] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355\n",
|
||||
"2024-06-03 21:52:43.795907: I external/local_xla/xla/stream_executor/cuda/cuda_executor.cc:998] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355\n",
|
||||
"2024-06-03 21:52:43.799970: I external/local_xla/xla/stream_executor/cuda/cuda_executor.cc:998] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"import tensorflow as tf\n",
|
||||
"\n",
|
||||
"def get_available_gpus():\n",
|
||||
" gpus = tf.config.list_physical_devices('GPU')\n",
|
||||
" if gpus:\n",
|
||||
" print(f\"GPUs detected: {len(gpus)}\")\n",
|
||||
" for gpu in gpus:\n",
|
||||
" print(f\" - {gpu.name}\")\n",
|
||||
" else:\n",
|
||||
" print(\"No GPUs detected.\")\n",
|
||||
"\n",
|
||||
"if __name__ == \"__main__\":\n",
|
||||
" print(\"TensorFlow version:\", tf.__version__)\n",
|
||||
" get_available_gpus()\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "324dc7a1-61b8-4384-bfed-4385e7dbe49d",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3 (ipykernel)",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.11.0rc1"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user